linux命令 common 文件比较

比较已经排序的文件

comm [optionsfile1 file2

comm将逐行比较已经排序的两个文件。显示结果包括3列:

第1列为只在file1中找到的行;第2列为只在file2中找到的行;第3列为两个文件的公用行。

参数

参数file1file2comm要比较的文件的路径名。用连字符(-)来替代file1或者file2时,comm将从标准输入读取输入信息

选项

-1              不显示第1列(即不显示只在file1中找到的行)

-2              不显示第2列(即不显示只在file2中找到的行)

-3              不显示第3列(即不显示在两个文件中都找到的行)

注意

如果文件没有排序,comm就不能正常的工作

第2列的没一行前面有一个制表符,第3列中的每一行前面有两个制表符

示例

原文件

复制代码
$ cat a
bbbbb
ccccc
ddddd
eeeee
fffff
$ cat b
aaaaa
ddddd
eeeee
ggggg
hhhhh
复制代码

comm

复制代码
$ comm a b
    aaaaa
bbbbb
ccccc
        ddddd
        eeeee
fffff
    ggggg
    hhhhh
$ 
复制代码

比较排序过的a和b文件

comm -12

$ comm -12 a b 
ddddd
eeeee

仅显示公有行

原文地址:https://www.cnblogs.com/zwgblog/p/6006175.html