什么Linux命令允许我检查文件A中的所有行是否都存在于文件B中? (它几乎像差异,但不完全)。文件A也有uniq行,文件B的情况也是如此。
答案 0 :(得分:3)
comm命令逐行比较两个已排序的文件,并且是GNU coreutils的一部分。
答案 1 :(得分:1)
您在寻找更好的差异工具吗?
答案 2 :(得分:1)
那么,如果A有
怎么办? a
a
b
和b有
a
b
您希望输出是(是或否)?
答案 3 :(得分:1)
答案 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中的线是唯一的。
如果不是,并且您不关心计算重复项,则使用sort
和uniq
将每个文件转换为唯一行列表相对简单。