【Linux】找出文件之间的差异

时间:2022-05-11 06:45:14

使用命令comm可以找出2个文件之间的差异

现在有文件如下:

Linux:/qinys # cat A.txt

apple

lemon

onion

orange

pear

Linux:/qinys # cat B.txt

grape

lemon

olive

pear

tomato

找出两个文件之间的差异

【Linux】找出文件之间的差异

命令解释

(1)sort [文件名1] –o [文件名2] :将文件名1中的内容排序后保存在文件名2的文件中

(2)输出的第一列包含只在A.txt,第二列包含只在B.txt中出现的行,第三列包含A.txt和B.txt中相同的行。各列之间使用(\t)作为界定符;

(3)格式化输出依据

  • -1 从输出结果中删除第一列
  • -2 从输出结果中删除第二列
  • -3 从输出结果中删除第三列

不显示第三列:

【Linux】找出文件之间的差异

上图我们觉得看的不方便,需要将2列合并为一列

【Linux】找出文件之间的差异

sed命令通过管道获取到comm输出的内容,sed中的s代表替换,/^\t代表匹配行首制表符;//两个字符之间没有任何字符,是用来替换行首的\t的字符串