如果模式不匹配则打印行

如果模式不匹配则打印行

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

请注意,上面的内容也将匹配子模式。例如,如果patternfile2 中有,则它将pattern1与 file1 匹配。为了避免这种情况,你可以使用-w(对于 GNU 和 BSD grep,也许还有其他):

$ grep -wvFf file2 file1

相关内容