【发布时间】:2019-07-20 03:43:42
【问题描述】:
这可能是 StackOverflow 上给出的最糟糕的例子,但我的目的是删除 File1 中针对 File2 的所有内容。同时忽略大小写敏感并匹配整行。例如,Cats@123:bob 将从 File2 中删除,因为 Cat 出现在 File1 中。因此,无论是否区分大小写,如果找到匹配的单词,它应该删除整行。
输入(文件1):
Cat
Dog
Horse
Wheel
主文件(文件2)
Cats@123:bob
dog@1:truth
Horse-1:fairytale
Wheel:tremendous
Divination:maximus
期望的输出
Divination:maximus
如输出所示,应该只输出“Divination:maximus”,因为在 File1 中没有找到匹配的单词。我更喜欢使用 Sed 或 Awk,因为我使用 Cygwin。但是欢迎任何建议,我可以回答您可能遇到的所有问题,谢谢。
到目前为止,这是我尝试过的方法,但不幸的是它不起作用,因为我的输出不正确。除此之外,只是输出了错误的行。我相当缺乏经验,所以我不知道如何根据下面的这种语法进行开发,也许它与手头的工作完全无关。
grep -avf file1.txt file2.txt > output.txt
【问题讨论】: