我想问一下,如果我有两个列表名称,如何检查文件,比如
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
答案 0 :(得分:1)
sort ab.txt > /tmp/file1
sort cd.txt > /tmp/file2
comm -13 /tmp/file1 /tmp/file2
comm
程序比较两个文件并显示它们共有的行或每个文件的唯一行。 -13
表示省略文件1和共同的唯一行。
答案 1 :(得分:0)
您还可以使用grep
:
$ grep -vf ab.txt cd.txt
zz
xx
yy
-f
告诉grep
从ab.txt
获取模式,-v
反转匹配。
答案 2 :(得分:0)
您还可以使用awk
:
awk 'NR==FNR{a[$1];next}!($1 in a)' ab.txt cd.txt