/usr/bin/comm [-options] file1 file2
comm 的作用是读取应该按当前语言环境下的整理序列排序的两个文件 file1 和 file2,生成三个文本列作为输出:
仅 file1 中有的行。
仅 file2 中有的行。
两个文件中都有的行。
如果任一文件中的行未按当前语言环境下的整理序列排序,则无法得到结果。
如果 file1 或 file2 为 -,comm 将从当前位置开始使用标准输入。
支持以下选项:
不输出仅 file1 中有的行对应的列。
不输出仅 file2 中有的行对应的列。
不输出 file1 和 file2 中重复的行对应的列。
支持下列操作数:
要比较的第一个文件的路径名。如果 file1 为 −,则使用标准输入。
要比较的第二个文件的路径名。如果 file2 为 −,则使用标准输入。
有关 comm 遇到大于或等于 2 GB(231 字节)文件时行为的说明,请参见 largefile(5)。
如果 file1、file2 和 file3 每个都包含已排序的实用程序列表,则命令:
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(5):LANG、LC_ALL、LC_COLLATE、LC_CTYPE、LC_MESSAGES 和 NLSPATH。
将返回以下退出值:
所有输入文件均已按要求成功输出。
出现错误。
有关下列属性的说明,请参见 attributes(5):
|
cmp(1)、diff(1)、sort(1)、uniq(1)、attributes(5)、environ(5)、largefile(5)、standards(5)