当前位置: > Linux命令 >

linux comm命令参数及用法详解---选择或拒绝两个已排序的文件的公共的

时间:2015-09-18 12:38来源:linux.it.net.cn 作者:IT

comm(common)

功能说明:比较两个已排过序的文件。

语  法:comm [-123][--help][--version][第1个文件][第2个文件]

补充说明:这项指令会一列列地比较两个已排序文件的差异,并将其结果显示出来,如果没有指定任何参数,则会把结果分成3行显示:第1行仅是在第1个文件中出现过的列,第2行是仅在第2个文件中出现过的列,第3行则是在第1与第2个文件里都出现过的列。若给予的文件名称为"-",则comm指令会从标准输入设备读取数据。
 

comm 命令读取 File1File2 参数并在缺省情况下将三栏输出写到标准输出。这些栏由以下内容组成:

  • 只在 File1 中的行
  • 只在 File2 中的行
  • 既在 File1,又在 File2 中的行。
    参  数:
      -1   不显示只在第1个文件里出现过的列。
      -2   不显示只在第2个文件里出现过的列。
      -3   不显示只在第1和第2个文件里出现过的列。
      --help   在线帮助。
      --version   显示版本信息。

退出状态

该命令返回以下退出值:

0 所有输入文件被成功输出。
>0 发生错误
0   所有输入文件被成功输出。

 

>0  发生错误。

示例

  1. 要显示每个文件中唯一的行和两个文件公共的行,请输入:

     

    comm things.to.do things.done

    如果文件 things.to.dothings.done 包含以下列表:

    things.to.do
     
    buy soap
    groceries
    luncheon
    meeting at 3
    system update
    tech. review
     
    things.done
     
    2nd revision
    interview
    luncheon
    system update
    tech. review
    weekly report

    comm 命令显示:

           2nd revision
    buy soap
    groceries
           interview
                   luncheon
    meeting at 3
                   system update
                   tech. review
           weekly report

    第一栏包含仅在 things.to.do 中找到的行。第二栏,缩进一个制表符,列出只在 things.done 中查找到的行。第三栏,缩进两个制表符,列出两者公共的行。

  2. 要显示只出现在一个文件中的行,请输入:

     

    comm -23 things.to.do things.done

    这禁止 comm 命令列表的第二和第三栏。如果文件与示例 1 中的相同,则显示以下内容:

    buy soap
    groceries
    meeting at 3

文件

 

/usr/bin/comm 包含 comm 命令。


(责任编辑:IT)
------分隔线----------------------------
栏目列表
推荐内容