生成されたtxtファイルがあります。このファイルには余分な特定の行があり、削除する必要があります。削除が必要な各行には、2つの文字列のいずれかが含まれています。 「エラー」または「リファレンス」。これらのトークンは、行のどこにでも表示できます。他のすべての行を保持しながら、これらの行を削除したいと思います。
そのため、txtファイルが次のようになっている場合:
データの良い行 C:\ Directory\ERROR\myFile.dllの悪い行 別の良いデータ行 悪い行:REFERENCE 良いライン
ファイルを次のようにしたいと思います。
データの良好なライン データの別の良好なライン 良好なライン
TIA。
以下を使用してください。
type file.txt | findstr /v ERROR | findstr /v REFERENCE
これには、sed/awk/Perlなどを見つけてインストールするのではなく、Windows OSの標準ツールを使用するという利点があります。
運用中の次のトランスクリプトを参照してください。
C:\> type file.txt Good line of data bad line of C:\ Directory\ERROR\myFile.dll Another good line of data bad line:REFERENCE Good line C:\> type file.txt | findstr/vエラー| findstr/v REFERENCE Good line of data Another good line of data Good line
Findstrのみを使用して、@ paxdiabloと同じソリューションを実現できます。複数のコマンドを一緒にパイプする必要はありません。
findstr /V "ERROR REFERENCE" infile.txt > outfile.txt
この仕組みの詳細:
Sedを使用している場合:
sed -e '/ REFERENCE/d' -e '/ ERROR/d' [ファイル名]
FILENAMEは、良い行と悪い行を含むテキストファイルの名前です。
Perlがインストールされている場合は、Perl -i -n -e"print unless m{(ERROR|REFERENCE)}"
がトリックを実行するはずです。