linux比较两个文件内容是什么-comm命令使用与实例

Linux comm 命令

Linux 中的 comm 命令用于对比两个已经排序过的文件内容。

该命令会逐行比对两个已排序文件之间的差异,并将结果展示出来。若未指定任何参数,默认情况下输出结果分为三列:第 1 列表示只出现在第一个文件中的行,第 2 列表示仅在第二个文件中存在的行,第 3 列则为两个文件中都存在的行。如果提供的文件名为 -,comm 将从标准输入读取数据。

语法

comm [-123][--help][--version][第一个文件][第二个文件]

参数说明

  • -1 隐藏仅在第一个文件中出现的行。
  • -2 隐藏仅在第二个文件中出现的行。
  • -3 隐藏两个文件中都存在的行。
  • --help 显示在线帮助信息。
  • --version 输出版本号。

示例

aaa.txt 和 bbb.txt 的内容如下所示:

[root@localhost text]# cat aaa.txt 
aaa 
bbb 
ccc 
ddd 
eee 
111 
222
[root@localhost text]# cat bbb.txt
bbb 
ccc 
aaa 
hhh 
ttt 
jjj

运行 comm 命令的结果如下:

[root@localhost text]# comm aaa.txt bbb.txt 
aaa
                bbb
                ccc
        aaa
ddd
eee
111
222
        hhh
        ttt
        jjj
第一列  第二列  第三列

输出的第一列为仅存在于 aaa.txt 中的内容,第二列为仅存在于 bbb.txt 中的内容,第三列为两个文件共有的内容。各列之间以制表符 \t 分隔。