Linux中的comm命令及示例

49 阅读2分钟

Linux中的comm命令是一个非常有用的工具,它允许我们比较两个排序过的文件并输出三列结果,分别表示只在文件1中出现、只在文件2中出现以及同时在两个文件中出现的行。

首先,我们来看一下comm命令的基本语法:

comm [OPTION]... FILE1 FILE2

这里的OPTION可以是以下选项之一:

  • -1:不输出只在文件1中出现的行。
  • -2:不输出只在文件2中出现的行。
  • -3:不输出同时在文件1和文件2中出现的行。

现在,我们来看一些使用comm命令的示例。

假设我们有两个文件,file1和file2。file1的内容如下:

apple
banana
cherry

file2的内容如下:

banana
cherry
date

如果我们运行命令 comm file1 file2,我们会得到以下输出:

apple
        banana
        cherry
    date

这里的第一列(没有缩进的)是只在file1中出现的行,第二列(有一个制表符的缩进)是只在file2中出现的行,第三列(有两个制表符的缩进)是同时在file1和file2中出现的行。

如果我们只想看同时在两个文件中出现的行,我们可以运行命令 comm -12 file1 file2,输出如下:

banana
cherry

这里的 -12选项告诉comm命令不输出第一列和第二列。

同样,如果我们只想看在file1中但不在file2中的行,我们可以运行命令 comm -23 file1 file2,输出如下:

apple

这里的 -23选项告诉comm命令不输出第二列和第三列。

总的来说,Linux中的comm命令是一个非常强大的工具,它可以帮助我们比较两个排序过的文件并找出它们的共同点和差异。然而,需要注意的是,comm命令要求输入的文件必须是排序过的,如果输入的文件没有排序,comm命令的结果可能会出现错误。

蓝易云-五网CN2服务器【点我购买】

蓝易云采用KVM高性能架构,稳定可靠,安全无忧!
蓝易云服务器真实CN2回国线路,不伪造,只做高质量海外服务器。


海外免备案云服务器链接:www.tsyvps.com

蓝易云香港五网CN2 GIA/GT精品网络服务器。拒绝绕路,拒绝不稳定。