我正在寻找一个命令或脚本来执行以下操作-给定的:
file1.txt:
abcd
efgh
ijkl
mnop
file2.txt:
123abcd123
123efgh123
123mnop123
我想要一个执行以下操作的命令:
ungrep file1.txt file2.txt
并返回以下内容:
ijkl
换句话说,它给了我file1.txt中的行,这些行不会在file2.txt的grep上返回任何结果。我知道我可以通过以下方式来做到这一点:遍历file1.txt,为每行grepping file2.txt并存储结果,并输出结果为空的任何行,但是我希望找到一种更有效的方法。
使用GNU grep
,以下方法应该起作用。使用该-f
选项,将其file1.txt
作为“模式文件”传递-还将第二次作为数据文件传递。用于-o
仅报告匹配的零件。最后,提取仅匹配一次的单词-这些单词对应于在中file1.txt
找不到匹配项的行file2.txt
。
grep -h -o -f file1.txt file2.txt file1.txt | sort | uniq -u
ijkl
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句