假设要1.txt和2.txt,当前的任务是求两者的差集,把差集存储在inter.txt内
1)comm:
sort 1.txt > 11.txt
sort 2.txt > 22.txt
comm -23 11.txt 22.txt > inter.txt
该方法需要先对文档排序,排序后再比较,感觉对于大文件,列表包含几百万行的文档,推荐这种方式。
2)grep:
grep -F -v -f 2.txt 1.txt | sort | uniq > inter.txt #1.txt - 2.txt
grep -F -v -f 1.txt 2.txt | sort | uniq > inter.txt #2.txt - 1.txt
用grep方法不需要先排序,但是输出的结果是有序的。
grep -F-f 1.txt 2.txt | sort | uniq > inter.txt # 1.txt 与 2.txt的交集