linux命令 common 文件比较

时间:2021-04-15 17:01:05

比较已经排序的文件

comm [optionsfile1 file2

comm将逐行比较已经排序的两个文件。显示结果包括3列:

第1列为只在file1中找到的行;第2列为只在file2中找到的行;第3列为两个文件的公用行。

参数

参数file1file2comm要比较的文件的路径名。用连字符(-)来替代file1或者file2时,comm将从标准输入读取输入信息

选项

-1              不显示第1列(即不显示只在file1中找到的行)

-2              不显示第2列(即不显示只在file2中找到的行)

-3              不显示第3列(即不显示在两个文件中都找到的行)

注意

如果文件没有排序,comm就不能正常的工作

第2列的没一行前面有一个制表符,第3列中的每一行前面有两个制表符

示例

原文件

linux命令 common 文件比较
$ cat a
bbbbb
ccccc
ddddd
eeeee
fffff
$ cat b
aaaaa
ddddd
eeeee
ggggg
hhhhh
linux命令 common 文件比较

comm

linux命令 common 文件比较
$ comm a b
aaaaa
bbbbb
ccccc
ddddd
eeeee
fffff
ggggg
hhhhh
$
linux命令 common 文件比较

比较排序过的a和b文件

comm -12

$ comm -12 a b
ddddd
eeeee

仅显示公有行