如何在 Linux 系统中逐行比较两个已排序的文件?
要比较两个已排序的文件,我们在 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
广告