经常会遇到比较两个文件的不同行的需求,这里记录下简单的方法
以下面两个文件为例:

1,首先对两个文件分别排序去重
sort 1.txt | uniq >> s1.txt
sort 2.txt | uniq >> s2.txt注意需要去重(具体原因下面解释)
2,用comm命令比较两个文件
comm file1 file2comm用于比较两个文件的异同,输出三列:(111 111 算为一列)
第一列:只有file1中有的内容
第二列:只有file2中有的内容
第三列:两个文件共同的内容

可以用参数 -123 进行屏蔽和选择输出,如下:
comm -12 s1.txt s2.txt // 屏蔽 1,2列
comm -13 s1.txt s2.txt // 屏蔽1,3列
comm -23 s1.txt s2.tx //屏蔽2,3列
3,最后
输出两个文件相同的内容(两文件交集): comm -12 file1 file2
输出只有第一个文件有的内容:comm -23 file1 file2
输出只有第二个文件有的内容:comm -13 file1 file2
输出两个文件的差集:comm -3 file1 file2
版权声明:本文为qq_35770207原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。