最初の行(削除したい特定の文字列を含む)以外の特定の文字列を含む行を削除します。Windowsバッチ削除行
findstr /v MyString file.txt > newfile.txt
私はこのコードを使用して削除しましたが、このようにすべての文字列(また最初の行)を削除します。 どうすればいいですか?
たとえば、これは最初のファイル(file.txtなど)である:
Anna;Mary;sylvia
1;345;100
23;34;45
Anna;Mary;sylvia
23;54;99
Anna;Mary;sylvia
10;23;34
今私は、この(NEWFILE.TXT)期待:
Anna;Mary;sylvia
1;345;100
23;34;45
23;54;99
10;23;34
SOLUTION
をI私の問題の解決策を見つけました。 ここで、このコードの一部:私はヘッダを取り、NEWFILEに書き込む最初の二行で
set /p var=<file.txt
echo %var% >> newfile.txt
findstr /v MyString file.txt > newfile2.txt
type newfile2.txt >> newfile.txt
del newfile2.txt
。 3行目では、すべての行をMyStringでクリアし、newfile2.txtに他の行を書き、最後にnewfile2(すべての行で)にnewfile(ヘッダがあるところ)を追加します。
CMDラインを経由して処理するために、ファイルを取得し、あなたがに何_expect_ 'newfile.txt'を見つけ、' newfile.txt'に実際に入っています。 –
OK、編集しました。 –
これはおそらくPowerShellでは簡単ですが、 'CMD'と' FINDSTR'でも管理できます。 [SS64 on 'FINDSTR'](https://ss64.com/nt/findstr.html)と[SS64 on FINDSTR on改行](https://ss64.com/nt/findstr-linebreaks.html)を参照してください。 ) –