Linux工具comm的用法

2023-02-08  本文已影响0人  CodingCode
$ man comm

NAME
       comm - compare two sorted files line by line

SYNOPSIS
       comm [OPTION]... FILE1 FILE2

DESCRIPTION
       Compare sorted files FILE1 and FILE2 line by line.

       With  no  options,  produce  three-column  output.  Column one contains lines unique to FILE1, column two contains lines
       unique to FILE2, and column three contains lines common to both files.

       -1     suppress column 1 (lines unique to FILE1)

       -2     suppress column 2 (lines unique to FILE2)

       -3     suppress column 3 (lines that appear in both files)

用来比较两个已经排序的文件。

正常请看下,命令输出三列:

  1. 第一列,只在文件1中出现的行。
  2. 第二列,只在文件2中出现的行。
  3. 第三个,同时出现在文件1和文件2中的行。

用来屏蔽那一列,或者那几列

  1. -1,屏蔽第一列,即屏蔽只在文件1中出现的行。
  2. -2,屏蔽第二列,即屏蔽只在文件2中出现的行。
  3. -3,屏蔽第三列,即屏蔽同时出现在文件1和文件2中的行。
  4. -12,屏蔽第一列和第二列,即输出同时在文件1和文件2中出现的行。
  5. -13,屏蔽第一列和第三列,即输出只在文件2中出现的行。
  6. -23,屏蔽第二列和第三列,即输出只在文件1中出现的行。
  7. -123,那就什么也别输出了。

举例来说:
加上文件1

AA
CC

文件2

BB
CC

则:

$ comm file1 file2
AA
    BB
        CC
$ comm -1 file1 file2
BB
    CC
$ comm -2 file1 file2
AA
    CC
$ comm -3 file1 file2
AA
    BB
$ comm -12 file1 file2
CC
$ comm -13 file1 file2
BB
$ comm -23 file1 file2
AA
$ comm -123 file1 file2
上一篇下一篇

猜你喜欢

热点阅读