# comm.1

COMM(1)

COMM(1)

FreeBSD General Commands Manual

COMM(1)

## [名称](#__u540D___u79F0_)

`comm` —

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

## [概要](#__u6982___u8981_)

`comm` \[`-123i`] file1 file2

## [描述](#__u63CF___u8FF0_)

`comm` 实用程序读取 file1 和 file2 ，它们应该按词法排序，并生成三个文本列作为输出：仅在 file1 中的行；仅在 file2 中的行；和两个文件中的行。

文件名 \`\`-'' 表示标准输入。

可以使用以下选项：

[`-1`](#1)

禁止打印第 1 列，仅在 file1 中的行。

[`-2`](#2)

禁止打印第 2 列，仅在 file2 中的行。

[`-3`](#3)

禁止打印第 3 列，两者共有的行。

[`-i`](#i)

不区分大小写的行比较。

每列前面都会有许多制表符，这些制表符的数量等于正在打印的编号较低的列的数量。 例如，如果第 2 列被抑制，则第 1 列中打印的行前面不会有任何制表符，而第 3 列中打印的行将有一个。

`comm` 实用程序假定文件是按词法排序的；所有字符都参与行比较。

## [环境](#__u73AF___u5883_)

`LANG 、` `LC_ALL 、` `LC_COLLATE` 和 `LC_CTYPE` 环境变量会影响 `comm` 的执行，如 environ(7) 中所述。

## [退出状态](#__u9000___u51FA___u72B6___u6001_)

The `comm` utility exits 0 on success, and >0 if an error occurs.

## [实例](#__u5B9E___u4F8B_)

假设一个名为 example.txt 的文件具有以下内容：

a b c d

仅在 example.txt 中显示行，仅在 stdin 和公共行中显示行：

$ echo -e "B\nc" | comm example.txt - B a b c d

仅显示进行不区分大小写比较的常用行：

$ echo -e "B\nc" | comm -1 -2 -i example.txt - b c

## [参见](#__u53C2___u89C1_)

cmp(1), diff(1), sort(1), uniq(1)

## [标准](#__u6807___u51C6_)

`comm` 实用程序符合 IEEE Std 1003.2-1992 (“POSIX.2”) 。

`-i` 选项是对

## [历史](#__u5386___u53F2_)

`comm` 命令出现在 Version 4 AT\&T UNIX 中。

July 27, 2020

FreeBSD 13.1-RELEASE
