使用Linux命令扩展文件

时间:2010-12-16 04:34:53

标签: linux diff

什么Linux命令允许我检查文件A中的所有行是否都存在于文件B中? (它几乎像差异,但不完全)。文件A也有uniq行,文件B的情况也是如此。

5 个答案:

答案 0 :(得分:3)

comm命令逐行比较两个已排序的文件,并且是GNU coreutils的一部分。

答案 1 :(得分:1)

您在寻找更好的差异工具吗?

https://stackoverflow.com/questions/12625/best-diff-tool

答案 2 :(得分:1)

那么,如果A有

怎么办?
 a
 a
 b

和b有

 a
 b

您希望输出是(是或否)?

答案 3 :(得分:1)

使用diff命令。

这是一个有用的视频,可以在3分钟内完全使用diff命令

Click Here

答案 4 :(得分:0)

if cat A A B | sort | uniq -c | egrep -e '^[[:space:]]*2[[:space:]]' > /dev/null; then
   echo "A has lines that are not in B."
fi

如果不重定向输出,您将获得A中不在B中的所有行的列表(除非每行在前面都有2)。这取决于A中的线是唯一的,B中的线是唯一的。

如果不是,并且您不关心计算重复项,则使用sortuniq将每个文件转换为唯一行列表相对简单。