我有两个包含唯一排序单词列表的文本文件:
文件 1:
a
b
c
d
文件 2:
b
c
我需要一个仅包含文件 1 中无关行的新文件,因此结果将是
a
d
这comm
是为了:
comm -- 选择或拒绝两个文件共有的行
你要
comm -23 "File 1" "File 2"
这将抑制仅在文件 2 中的行和两个文件中的行的输出,只在文件 1 中留下行。Greg Wooledge 的 wiki 上的 更多答案
您可以使用grep
:
grep -f file1.txt -vFx file2.txt
请注意标志F, --fixed-strings
和x, --line-regexp
, 的使用,以强制执行考虑整行的比较。
试试这个
$ join file1.txt file2.txt -v 1
$ man join
-a FILENUM
print unpairable lines coming from file FILENUM, where FILENUM is 1 or 2, corresponding to FILE1 or FILE2
-v FILENUM
like -a FILENUM, but suppress joined output lines