Go to main content

手册页部分 1:用户命令

退出打印视图

更新时间: 2018年8月8日 星期三
 
 

comm(1)

名称

comm - 选择或拒绝两个文件共有的行

用法概要

/usr/bin/comm [-123] [--check-order
|--nocheck-order][--output-delimiter=STR] [--help] 
file1 file2 

描述

comm 的作用是读取应该按当前语言环境下的整理序列排序的两个文件 file1 file2,生成三个文本列作为输出:

1

file1 中有的行。

2

file2 中有的行。

3

两个文件中都有的行。

如果任一文件中的行未按当前语言环境下的整理序列排序,则行为取决于指定的顺序选项。

–-nocheck-order

不会生成有关排序顺序的错误。输出将无效。

--check-order

如果 file1file2 中的任何行未按排序顺序显示,则将出现错误,无论 file1 中的行是否与 file2 中的相应行匹配。

如果未指定顺序选项,则缺省行为不检查输入的排序顺序。这与指定 –-nocheck-order 选项相同。

如果 file1file2 -comm 将从当前位置开始使用标准输入。

选项

支持以下选项:

–1

不输出仅 file1 中有的行对应的列。

–2

不输出仅 file2 中有的行对应的列。

–3

不输出 file1file2 中重复的行对应的列。

–-check-order

即使 file1 中的所有行都与 file2 中的相应行匹配,仍检查输入是否已正确排序。

–-nocheck-order

不检查输入是否已正确排序。这是缺省行为。

–-output-delimiter=STR

使用 STR 分隔列。

–-help

显示命令用法并退出。

操作数

支持下列操作数:

file1

要比较的第一个文件的路径名。如果 file1 -,则使用标准输入。

file2

要比较的第二个文件的路径名。如果 file2 -,则使用标准输入。

示例

示例 1 列显文件指定的实用程序列表

如果 file1file2file3 每个都包含已排序的实用程序列表,则命令:

example% comm -23 file1 file2 | comm -23 - file3 

将列显 file1 中未由其他两个文件指定的实用程序的列表。命令:

example% comm -12 file1 file2 | comm -12 - file3

将列显全部三个文件均指定的实用程序的列表。命令:

example% comm -12 file2 file3 | comm -23 -file1

将列显由 file2 file3 指定但未在 file1 中指定的实用程序的列表。

环境变量

有关影响 comm 执行的以下环境变量的说明,请参见 environ(7):LANG、LC_ALL、LC_COLLATE、LC_CTYPE、LC_MESSAGES 和 NLSPATH。

退出状态

将返回以下退出值:

0

所有输入文件均已按要求成功输出。

>0

出现错误。

属性

有关下列属性的说明,请参见 attributes(7)

属性类型
属性值
可用性
system/core-os
CSI
Enabled(已启用)
接口稳定性
Committed(已确定)
标准
请参见 standards(7)

另请参见

cmp(1)diff(1)sort(1)uniq(1)attributes(7)environ(7)standards(7)