如果想在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列