这可能是有史以来最糟糕的示例,但是我的目的是针对File2删除File1中的所有内容。同时忽略大小写敏感并匹配整行。例如,将从 File2 中删除 Cats @ 123:bob ,因为Cat出现在 File1 中。因此,无论是否区分大小写,如果找到匹配的单词,都应根除整个行。
输入(文件1):
Cat
Dog
Horse
Wheel
MainFile(File2)
Cats@123:bob
dog@1:truth
Horse-1:fairytale
Wheel:tremendous
Divination:maximus
所需的输出
Divination:maximus
如输出所示,仅应输出“ Divination:maximus”,因为在File1中找不到匹配的单词。我更喜欢像使用Cygwin一样一般使用Sed或Awk。但是任何建议都欢迎,我可以回答您可能遇到的所有问题,谢谢。
这是我到目前为止已经尝试过的方法,但是由于我的输出不正确,因此它不能正常工作。除此之外,仅输出错误的行。我相当缺乏经验,所以我不知道如何在下面的语法上进行开发,也许这与手头的工作完全无关。
grep -avf file1.txt file2.txt > output.txt
答案 0 :(得分:2)
grep
命令可以为您做到这一点:
grep -v -i -f file1 file2
-f file1
告诉grep
使用file1
中的模式-i
标志表示不区分大小写-v
标志的意思是搜索不包含这些模式的行