File 1
仅当它们不包含中指定的模式时才打印行File 2
示例:
$ cat File_1
L1 pattern1
L2 pattern pattern2
L3 pattern3 pattern
L4 pattern4
$ cat File_2
pattern1
pattern2
预期产出
$cat File_3
L3 pattern3 pattern
L4 pattern4
答案1
您可以使用grep
:
$ grep -vFf file2 file1
L3 pattern3 pattern
L4 pattern4
-v
,-F
并且-f
定义为POSIX grep。
请注意,上面的内容也将匹配子模式。例如,如果pattern
file2 中有,则它将pattern1
与 file1 匹配。为了避免这种情况,你可以使用-w
(对于 GNU 和 BSD grep,也许还有其他):
$ grep -wvFf file2 file1