曲径通幽论坛

 找回密码
 立即注册
搜索
查看: 2784|回复: 0
打印 上一主题 下一主题

comm -- 逐行比较两个已排序文件

[复制链接]

4918

主题

5880

帖子

3万

积分

GROAD

曲径通幽,安觅芳踪。

Rank: 6Rank: 6

积分
34387
跳转到指定楼层
楼主
发表于 2012-3-27 11:30:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
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
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|曲径通幽 ( 琼ICP备11001422号-1|公安备案:46900502000207 )

GMT+8, 2024-6-2 21:31 , Processed in 0.081127 second(s), 22 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表