comm命令
comm
命令用于比较两个已排过序的文件,该命令会一列列地比较两个已排序文件的差异,并将其结果显示出来,如果没有指定任何参数,则会把结果分成3
列显示:第1
列仅是在第1
个文件中出现过的列,第2
列是仅在第2
个文件中出现过的列,第3
列则是在第1
与第2
个文件里都出现过的列,若给予的文件名称为-
,则comm
命令会从标准输入设备读取数据。
语法
参数
-
-1
: 禁止列1
(FILE1
唯一的行)。 -
-2
: 禁止列2
(FILE2
唯一的行)。 -
-3
: 禁止列3(出现在两个文件中的行)。 -
--check-order
: 检查输入是否正确排序,即使所有输入行都是可配对的。 -
--nocheck-order
: 不检查输入是否正确排序。 -
--output-delimiter=STR
: 用字符串STR
分隔列。 -
-z, --zero-terminated
: 指定行分隔符是NUL
,不是换行符。 -
--help
: 显示帮助消息。 -
--version
: 输出版本信息。
示例
recipe.txt
文件与shopping-list.txt
文件内容,这两个文件不同,但许多行是相同的,并非所有的配方成分都在购物清单上,也不是购物清单上的所有成分都是食谱的一部分。
使用comm
命令,其将读取这两个文件并给我们三列输出,在这里,每行输出的开头都有0
、1
或2
个制表符,将输出分成三列:
- 第一列
zero tabs
是只出现在第一个文件中的行。 - 第二列
one tabs
是只出现在第二个文件中的行。 - 第三列
two tabs
是出现在两个文件中的行。
比较recipe.txt
文件与shopping-list.txt
文件,并禁用第1
与第2
列的输出。
每日一题
参考