comm 命令

用途

选择或拒绝两个已排序的文件的公共的行。

语法

科姆 [  -1  -2  -3 ] File1 File2

描述

注: 如果对其中一个文件名指定-(减号) ,那么 comm 命令将读取标准输入。

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

  • 仅位于 File1中的行
  • 仅位于 File2中的行
  • 同时位于 File1File2中的行。

File1 File2 都应该根据通过当前“本地语言”环境指定的整理顺序来排序。

标志

描述
-1 禁止显示第一栏(在 File1 中的行)。
-2 禁止显示第二栏(在 File2 中的行)。
-3 禁止显示第三栏(与 File1File2 公共的行)。

退出状态

本命令返回以下退出值:

描述
重大安全事件数量 所有输入文件被成功输出。
> 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 命令。