比较两个文件的不同行小工具

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

以下面两个文件为例:

 

1,首先对两个文件分别排序去重

sort 1.txt | uniq >> s1.txt
sort 2.txt | uniq >> s2.txt

注意需要去重(具体原因下面解释)

2,用comm命令比较两个文件

comm file1 file2

comm用于比较两个文件的异同,输出三列:(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版权协议,转载请附上原文出处链接和本声明。