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中出现的行。
- 第二列,只在文件2中出现的行。
- 第三个,同时出现在文件1和文件2中的行。
- 参数:
用来屏蔽那一列,或者那几列
- -1,屏蔽第一列,即屏蔽只在文件1中出现的行。
- -2,屏蔽第二列,即屏蔽只在文件2中出现的行。
- -3,屏蔽第三列,即屏蔽同时出现在文件1和文件2中的行。
- -12,屏蔽第一列和第二列,即输出同时在文件1和文件2中出现的行。
- -13,屏蔽第一列和第三列,即输出只在文件2中出现的行。
- -23,屏蔽第二列和第三列,即输出只在文件1中出现的行。
- -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