如何使用 macOS 命令行在终端中比较两个文件夹的内容

如何使用 macOS 命令行在终端中比较两个文件夹的内容

您是否曾经想要一种快速比较两个目录(文件夹)的方法,以便查看两者之间哪些文件可能不同?也有第三方 GUI 工具,但实际上每台 Mac 都内置了一个免费的文件夹比较工具——只需快速访问终端即可使用。该程序称为diff,使用起来非常简单。

启动终端(在“应用程序”>“实用程序”中),然后使用cd命令切换到包含您要比较的文件夹的目录。(当然,文件夹可以位于任何位置,但如果它们位于同一文件夹中,则最简单。)。到达那里后,只需运行此命令:

diff -rq 文件夹 1 文件夹 2

这是一个非常简单的命令,有两个命令行开关 (-rq)。

  • r告诉diff递归地查看每个目录,包括子目录。
  • q开关在简要模式下设置diff。如果我们没有设置简要模式,diff不仅会告诉您两个文件夹中哪些文件不同,还会显示两个位置中存在但不相同的任何文本文件的实际逐行差异。鉴于我们只对比较文件夹的内容感兴趣,我们不需要那么详细,所以我们将使用简要模式来抑制它。

这就是它的全部。这是它的实际效果(comments_newcomments_old是我比较的两个文件夹):

% cd phpcode% diff -rq comments_new comments_oldOnly in comments_new: config.phpOnly in comments_old: config_old.phpOnly in comments_old: functions.inc

显然,这是一个简单的示例,但它在包含数百个文件的大型文件夹中同样适用。如果您想用diff做更多的事情,当然,它的功能不仅仅是简单的文件夹比较;键入man diff以了解其全部功能。

THE END