如何在 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
相关文章
有用资源
linux 参考教程 - 该教程包含有关 linux 的更多信息:https://www.cainiaomax.com/linux/

