约 3538 字

约 18 分钟

#Bash 的 comm 命令

comm [OPTION]... FILE1 FILE2

功能

逐行比较已排序的文件 FILE1 和 FILE2。

产生三列输出,依次为:FILE1 的特有行,FILE2 的特有行,FILE1 和 FILE2 的共有行。

类型

可执行文件(/usr/bin/comm),属于 coreutils。

参数

  • OPTION 选项:
    • -1 - 不显示第 1 列(FILE1 的特有行)
    • -2 - 不显示第 2 列(FILE2 的特有行)
    • -3 - 不显示第 3 列(FILE1 和 FILE2 的共有行)
    • --check-order - 即使所有行都匹配,也要检查排序是否正确
    • --nocheck-order - 不检查是否正确排序
    • --output-delimiter=STR - 使用 STR 分隔输出的列
    • --total - 输出摘要
    • -z, --zero-terminated - 以空字符(\0)作为行的结尾,而不是换行符(\n)
    • --help - 显示帮助
    • --version - 显示版本
  • FILE1 - 比较的文件;- 表示读取标准输入,FILE1 和 FILE2 不能同时为 -
  • FILE2 - 比较的文件;- 表示读取标准输入,FILE1 和 FILE2 不能同时为 -

#示例

$ cat 1.txt
AAAAA
BBBBB
CCCCC
DDDDD
EEEEE
$ cat 2.txt
AAAAA
BBBBB
DDDDD
EEEEE
FFFFF
$ comm 1.txt 2.txt      # 比较
		AAAAA
		BBBBB
CCCCC
		DDDDD
		EEEEE
	FFFFF

#推荐阅读

#手册

更新: 2026/8/12

作者: planc

创建: 2025/11/3