我有一个生成的txt文件。此文件具有某些多余的行,需要删除。需要删除的每一行都有一行中的两个字符串; “错误”或“参考”。这些令牌可能出现在该行的任何位置。我想删除这些行,同时保留所有其他行。
因此,如果txt文件如下所示:
Good Line of data bad line of C:\Directory\ERROR\myFile.dll Another good line of data bad line: REFERENCE Good line
我希望文件最终像这样:
Good Line of data Another good line of data Good line
TIA。
答案 0 :(得分:98)
使用以下内容:
type file.txt | findstr /v ERROR | findstr /v REFERENCE
这样做的好处是可以在Windows操作系统中使用标准工具,而不必查找和安装sed / awk / perl等。
在操作中查看以下成绩单:
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 ERROR | findstr /v REFERENCE Good Line of data Another good line of data Good line
答案 1 :(得分:39)
你可以使用findtr本身完成与@ paxdiablo相同的解决方案。无需将多个命令组合在一起:
findstr /V "ERROR REFERENCE" infile.txt > outfile.txt
这是如何工作的详细信息:
答案 2 :(得分:5)
如果你有sed:
sed -e'/ REFERENCE / d'-e'/ ERROR / d'[FILENAME]
其中FILENAME是带有&的文本文件的名称。坏线
答案 3 :(得分:1)
如果你安装了perl,那么perl -i -n -e"print unless m{(ERROR|REFERENCE)}"
就可以了。