我想问,如果我有两个列表名称,如何检查文件,比如
cat /data/file1/ab.txt
aa
bb
cc
dd
ee
cat /data/file2/cd.txt
cc
dd
ee
aa
zz
xx
yy
我希望输出类似于:
zz
xx
yy
sort ab.txt > /tmp/file1
sort cd.txt > /tmp/file2
comm -13 /tmp/file1 /tmp/file2
该comm
程序比较两个文件并显示它们共同或独特的行。-13
表示省略文件 1 特有的和共有的行。
您还可以使用grep
:
$ grep -vf ab.txt cd.txt
zz
xx
yy
-f
告诉grep
从匹配中获取模式ab.txt
并-v
反转匹配。
您还可以使用awk
:
awk 'NR==FNR{a[$1];next}!($1 in a)' ab.txt cd.txt