2016-07-04 14 views
-2

不適切なキャリッジを削除すると、ファイル内に「CRLF」が返されますが、正しいキャリッジが保持されます。私は、動作するロジックがあると思うが、スクリプトを釘付けにすることはできない。^pはすなわちヌル(「」と「キャリッジリターン」改行を置き換えるWindowsバッチファイル

がinactivetempと非アクティブ^ Pを交換しnotemp
ではありません^ Pを交換しyestemp
とはい^ Pを交換し
置き換え^ Pを表し


私は、あなたは可能性が想定非アクティブ^ P

+1

DOSの場合は本当に必要ですか?万が一Windowsでない? – Joey

+0

私はジョーイと同じ質問があります。さらに、あなたの言語は矛盾しています。あなたのタイトルは改行(バイトコード10、16進0x0A)について語り、 '^ p'は「キャリッジリターン」(バイトコード13、16進0x0D)を表しています。最初の文章では、キャリッジリターンと "CRLF"というキャリッジリターンについて説明しています。これは、キャリッジリターンとラインフィードの組み合わせの一般的な省略形で、Windows(およびDOS)がラインターミネータとして使用します。だから、あなたは本当に何をしようとしていますか? – dbenham

+0

また、「Yes」、「No」、および「Inactive」の後に '^ p'(それが表すと思われるもの)を保存して残りを削除したいですか?あるいは、それらの言葉は何か他のものを待っていますか? – dbenham

答えて

0

でinactivetemp置き換えません^ P
notempwith置き換えはい^ P
でYestempを交換してください純粋なネイティブバッチでこれを行うが、それは非常に苦痛で、おそらく非常に遅い。

JREPL.BAT - a hybrid JScript/batch regular expression find/replace utilityを使用することは簡単です。これはXP以降の任意のWindowsマシンでネイティブに実行される純粋なスクリプトです。サードパーティのexeファイルは必要ありません。フル・ドキュメンテーションは、jrepl /?またはjrepl /??を介してページ・アウトされたユーティリティーに組み込まれています。以下

ソリューションは、あなたのコメントからの仕様に基づいています:

BlockquoteTheのtxtファイルは、LFとCRLF値の両方が含まれています。私が保持したい文字列はYesLFとNoLFです。私はここで

jrepl "(Yes|No)\n:\r?\n" "$&:" /t ":" /m /f "yourFile.txt" /o - 

そして、ここでは、JScriptの

されたユーザーのビットと /Jオプションを使用したソリューションである /Tオプションを使用したソリューションである他のすべてのLFとCRLF文字列を削除したいです
jrepl "((Yes|No)(?=\n))?\r?\n" "$1?$0:''" /j /m /f "yourFile.txt" /o - 
+0

優れています。ありがとう! –

+1

@DavidAnton - ありがとうございます。このサイトでこれを行う適切な方法は、左上隅のチェックマークをクリックして質問に完全に回答する回答を受け入れることです。それは答えのポスター15のポイントを授与し、あなたの質問者は答えを受け入れる時間を取るために2つのポイントを得る。 1つの質問のみが受け入れられます。一度15ポイントに達すると、あなたは有用なものを見つけることができます。これは10点が回答のポスターになります。あなたは、あなたが望むだけたくさんの答えを投票することができ、他の人の質問への回答も可能です。 – dbenham

関連する問題