Linux下comm命令行工具使用


如果想在Linux命令行方式下,对2个文本文件的内容做比较,找出同时包含在这2个文本文件中的内容,可以使用Linux系统带的工具comm来处理,前提是被比较的2个文本文件要是有序的,可以先用sort处理一下,具体操作方法如下:

原始文件如下:

a.txt

d

c

b

a

b.txt

g

f

b

a

排序处理

sort a.txt > a1.txt

sort b.txt > b1.txt

处理结果文件如下:

a1.txt

a

b

c

d

b1.txt

a

b

f

g

比较处理

comm  a1.txt b1.txt

a

b

f

g

c

d

输出结果包括3列 其中第3列显示的是2个文件中都包含的内容。

第1列显示只包含在第一个文件a.txt中的

第2列显示只包含在第二个文件b.txt中的

可以通过参数指定要显示的列 如:

comm a1.txt b1.txt -12

a

b

-12  表示不显示第1列和第2列,只显示第3列

-1 不显示第1列,显示第2,3 列

-13 不显示第1,3列,显示第2列

相关内容