Answers:
在bash中:
diff --brief <(sort file1) <(sort file2)
sort
除非您告知,否则不关心确切的内容。
--brief
并添加格式选项,例如-u
。
diff
设置其退出状态以指示文件是否相同。退出状态可通过特殊变量访问$?
。您可以通过以下方式扩展Ignacio的答案:
diff --brief <(sort file1) <(sort file2) >/dev/null
comp_value=$?
if [ $comp_value -eq 1 ]
then
echo "do something because they're different"
else
echo "do something because they're identical"
fi
if diff ... >/dev/null
不用括号和变量。
虽然这diff
是一个很好的答案,但我可能会cmp
改用它专门用于对两个文件进行逐字节比较。
https://linux.die.net/man/1/cmp
因此,它具有比较二进制文件的额外好处。
if cmp -s "file1" "file2"
then
echo "The files match"
else
echo "The files are different"
fi
diff
虽然我没有亲自测试过,但我认为它比使用更快。