使用Linux命令区分文件

使用Linux命令区分文件,linux,diff,Linux,Diff,哪个Linux命令允许我检查文件A中的所有行是否都存在于文件B中?(这几乎像一个差异,但不完全如此)。文件A也有uniq行,文件B也是如此 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,如果它在前面

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

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中的行是唯一的


如果它们不是,并且您不关心重复计数,那么使用
排序
uniq
将每个文件转换为一个唯一行列表相对简单。您是否在寻找更好的diff工具


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

那么,如果

 a
 a
 b
b有

 a
 b
您希望输出是什么(是或否)?

使用diff命令

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