comm命令——对已经有序的文件进行比较——第一列只在文件1中出现的文件,第二列只在文件2中出现的文件,第三列在文件1和文件2中同事出现的文件

Posted 黎明露珠

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了comm命令——对已经有序的文件进行比较——第一列只在文件1中出现的文件,第二列只在文件2中出现的文件,第三列在文件1和文件2中同事出现的文件相关的知识,希望对你有一定的参考价值。

请注意前提条件:

            comm对文件进行处理时,要求文件已经有序,如果没有顺序,请使用sort进行排序后进行处理。

语  法:

             comm [-123][--help][--version][第1个文件][第2个文件]
补充说明:

             这项指令会一列列地比较两个已排序文件的差异,并将其结果显示出来,如果没有指定任何参数,则会把结果分成3行显示

第1行仅是在第1个 文件中出现过的列;

第2行是仅在第2个文件中出现过的列;

第3行则是在第1与第2个文件里都出现过的列。

若给予的文件名称为"-",则comm指令会从标 准输入设备读取数据。
参  数:
           -1        不显示只在第1个文件里出现过的列。
           -2        不显示只在第2个文件里出现过的列。
           -3        不显示同时在第1和第2个文件里出现过的列。

--help 在线帮助。
--version 显示版本信息
debian:/shell# cat a1
1
2
3
4
5
6
debian:/shell# cat a2
1
2
3
4
7
8
debian:/shell# comm a1 a2
                                1
                                2
                                3
                                4
5
6
               7
               8
debian:/shell# comm -1 a1 a2
              1
              2
              3
              4
7
8
debian:/shell# comm -2 a1 a2
             1
             2
             3
             4
5
6
debian:/shell# comm -3 a1 a2
5
6
            7
            8
debian:/shell# comm -13 a1 a2
7
8
debian:/shell# comm -23 a1 a2
5
6
debian:/shell#


希望我不会遗忘!
debian:/shell# egrep -f a1 a2
1
2
3
4
debian:/shell# egrep -f a1 -v a2
7
8
debian:/shell# egrep -f a2 -v a1
5
6
debian:/shell# 

以上是关于comm命令——对已经有序的文件进行比较——第一列只在文件1中出现的文件,第二列只在文件2中出现的文件,第三列在文件1和文件2中同事出现的文件的主要内容,如果未能解决你的问题,请参考以下文章

如何根据列比较 unix 中的两个文件

如何获得comm输出的第一列?

两个文件diff:交集差集并集

比较两个排序好的文件的方法—— comm

linux命令 common 文件比较

两个文件比较之comm命令