📜  Linux 中的 comm 命令和示例(1)

📅  最后修改于: 2023-12-03 15:32:41.023000             🧑  作者: Mango

Linux 中的 comm 命令和示例

comm 命令用于比较两个已排序的文件,并将它们的行输出。它可以用于查找两个文件中相同的行,不同的行和只在其中一个文件中出现的行。

命令语法
comm [OPTION]... FILE1 FILE2
选项
-1:不显示只在 FILE1 中出现的行。
-2:不显示只在 FILE2 中出现的行。
-3:不显示同时在 FILE1 和 FILE2 中出现的行。
示例

假设有两个文件 file1.txtfile2.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

输出结果只有 bananaorange,表示这两个行只出现在 file1.txt 中。

同样地,如果我们想只显示只在 file2.txt 中出现的行,可以使用 -2 选项:

$ comm -2 file1.txt file2.txt
grape
pineapple

输出结果只有 grapepineapple,表示这两个行只出现在 file2.txt 中。