曲径通幽论坛

标题: comm -- 逐行比较两个已排序文件 [打印本页]

作者: beyes    时间: 2012-3-27 11:30
标题: comm -- 逐行比较两个已排序文件
comm 命令用来逐行比较两个已排序文件,对文本文件进行排序可用 sort 命令。

使用语法格式:
comm [OPTION]... FILE1 FILE2

下面是两个测试文件 FILE1 和 FILE2,内容如下:
# sort FILE1 -o FILE1
# sort FILE2 -o FILE2
# cat FILE1
Chinese
city
conservation
expect
quota
water
will
# cat FILE2
businesses
city
expect
given
industrial
said
then
现在直接用 comm 来比较一下上面的文件:
root@bt:~/shell# comm FILE1 FILE2
        businesses
Chinese
                city
conservation
                expect
        given
        industrial
quota
        said
        then
water
will
在上面的输出中共有 3 列,每列使用 TAB 隔开。第 1 列表示第 1 个文件中独有的行,第 2 列表示第 2 个文件中独有的行,第 3 个列表示两个文件共有的行。

此外有 3 个选项的意义分别如下:
-1 : 从输出中删除第 1 列。
-2 : 从输出中删除第 2 列。
-3 : 从输出中删除第 3 列。

因此,如果想只列出两个文件共有的内容,那么只需要:
# comm FILE1 FILE2 -1 -2
city
expect[/qutoe]
如果只想列出第 1 个文件中独有的内容,那么就要删除掉第 2 列和第 3 列:
[quote]# comm FILE1 FILE2 -2 -3
Chinese
conservation
quota
water
will





欢迎光临 曲径通幽论坛 (http://www.groad.net/bbs/) Powered by Discuz! X3.2