如何在 Linux 系统中逐行比较两个已排序的文件?

linuxoperating systemopen source更新于 2026/2/16 8:07:17

要比较两个已排序的文件,我们在 Linux 系统中使用 comm 命令。

comm 命令用于逐行比较两个已排序的文件,并将三列写入标准输出。前两列包含第一个文件和第二个文件独有的行,最后一列包含两个文件共有的行。列之间用制表符区分。comm 命令的功能与 diff 命令类似。

语法

comm 命令的一般语法如下 −

comm [OPTION]... FILE1 FILE2

comm 命令中可用选项的简要说明。

序号选项 &说明
1-1
隐藏第一列(FILE1 独有的行)
2-2
隐藏第二列(FILE2 独有的行)
3-3
隐藏第三列(FILE1 和FILE2)
4--check-order
检查输入是否正确排序,即使所有输入行都是可配对的
5--nocheck-order
不检查输入是否正确排序
6--output-delimiter=STR
分隔具有给定字符串 STR 的列
7--total
显示摘要
8-z, --zero-terminated
行分隔符为 NULL,而不是换行符
9--help
显示帮助消息然后退出。
10--version
它会显示版本信息,然后退出。

在这里,我们将比较两个已排序的文件,并使用不带任何选项的 comm 命令,并在标准输出的一列中显示所有内容。

vikash@tutorialspoint: ~/Documents$ comm file_first file_second
Abhishek
Anand
   Annie
   Bidu
Bruce
Celesy
   Chiku
   Sayani
Vikash
   Wandra
vikash@tutorialspoint: ~/Documents$

在这里,我们将比较两个已排序的文件,并使用 comm 命令的 -1 选项抑制第一列。

vikash@tutorialspoint: ~/Documents$ comm -1 file_first file_second
Annie
Bidu
Chiku
Sayani
Wandra
vikash@tutorialspoint: ~/Documents$

现在,我们将比较两个已排序的文件,并使用 comm 命令的 -2 选项抑制第二列。

vikash@tutorialspoint: ~/Documents$ comm -2 file_first file_second
Abhishek
Anand
Bruce
Celesy
Vikash
vikash@tutorialspoint: ~/Documents$

要查看有关 comm 命令的更多信息,我们在 comm 命令中使用 –help 选项,如下所示。

$ comm --help

要查看 comm 命令的版本信息,我们在命令中使用 –version 选项,如下所示

$ comm --version

相关文章


有用资源