📅  最后修改于: 2023-12-03 15:32:41.023000             🧑  作者: Mango
comm
命令用于比较两个已排序的文件,并将它们的行输出。它可以用于查找两个文件中相同的行,不同的行和只在其中一个文件中出现的行。
comm [OPTION]... FILE1 FILE2
-1:不显示只在 FILE1 中出现的行。
-2:不显示只在 FILE2 中出现的行。
-3:不显示同时在 FILE1 和 FILE2 中出现的行。
假设有两个文件 file1.txt
和 file2.txt
,内容分别如下:
file1.txt:
apple
banana
orange
file2.txt:
apple
grape
pineapple
我们可以使用 comm
命令来比较它们:
$ comm file1.txt file2.txt
apple
banana
grape
orange
pineapple
输出结果第一列表示只在 file1.txt
中出现的行,第二列表示只在 file2.txt
中出现的行,第三列表示同时在两个文件中出现的行。
如果我们想只显示同时在两个文件中出现的行,可以使用 -3
选项:
$ comm -3 file1.txt file2.txt
banana
输出只有一行 banana
,表示这是两个文件中唯一相同的行。
如果我们想只显示只在 file1.txt
中出现的行,可以使用 -1
选项:
$ comm -1 file1.txt file2.txt
banana
orange
输出结果只有 banana
和 orange
,表示这两个行只出现在 file1.txt
中。
同样地,如果我们想只显示只在 file2.txt
中出现的行,可以使用 -2
选项:
$ comm -2 file1.txt file2.txt
grape
pineapple
输出结果只有 grape
和 pineapple
,表示这两个行只出现在 file2.txt
中。