如何比较两个文件的内容?

mos*_*osh 1 linux unix diff

我的任务是比较数百个配对文件的内容。我必须快速比较每一对,如果那对相等(在内容上),我必须提供一个答案。这些文件可以是文本文件或二进制文件。你能帮我吗?

  1. 我正在寻找适用于所有 UNIX \ Linux 版本的命令
  2. 我更喜欢使用最有效的命令(在时间和性能方面)
  3. 我更喜欢支持文本和二进制文件的命令
  4. 我更喜欢作为操作系统的一部分安装的命令(而不是第 3 方)

谢谢!

ric*_*ici 8

如果您只需要知道文件是否不同,请使用cmp. 或者,更准确地说:

if cmp "$FILE1" "$FILE2"; then
  echo same
else
  echo different
fi
Run Code Online (Sandbox Code Playgroud)

(或者当它们相等/不相等时您需要做的任何事情)。cmp应该存在于任何类似 posix 的系统上,适用于二进制文件和文本文件,并在发现差异时立即返回,这与您将要获得的速度一样快。(另外,因为它不识别行,所以不会浪费时间查找行尾。)