有文本文件A和B,均由文本行组成,文件A与B文件有相同的行,也有不同的行,首先整理,然后找到需要的结果。
0. 文件整理
# sort A | uniq > a; rm A; mv a A
# sort B | uniq > b; rm B; mv b B
解释:将A中按行排序,然后去掉相同行,并写入a,然后删掉A文件,将a重新命名为A
1. 找出文件A和文件B的公有行
# cat A B | sort | uniq -d > C
解释:将AB文件合并,并重新排序,然后去掉只出现一次的行(只存在任一文件中),剩下的(出现两次的,即文件AB中均存在的)并写入文件C
2. 找出文件A中有,而文件B没有的行
# cat A C | sort | uniq -u > D
解释:将AC文件合并,并重新排序,然后取出只出现一次的行(只存在文件A中),并写入文件D
3. 找出文件B中有,而文件A没有的行
# cat B C | sort | uniq -u > E
解释:将AC文件合并,并重新排序,然后取出只出现一次的行(只存在文件A中),并写入文件E
4. 合并文件A和文件B,并删除重复的行
# cat A B | sort | uniq > F
解释:将AB文件合并,并重新排序,然后去掉重复的行,最后写入文件F