如何在 Mac 命令行中使用 diff 比较两个文件

在命令行使用 diff 比较文件

需要快速比较两个文件的差异?命令行“差异”工具为熟悉终端的用户提供了一个很好的选择。 Diff 允许您轻松比较两个文件,命令输出报告输入文件之间的任何差异。

diff 命令在 Mac 上默认可用,它在 Linux 和其他 unix 操作系统中的工作方式相同,只是关心你想知道的,对于 Windows 用户,它与 ‘fc’ 文件的方式非常相似比较工具的工作情况。

为了获得最佳效果,您需要使用某种纯文本文件而不是富文本文件。如果需要,您可以随时复制该文件并 在 Mac 上通过 textutil 命令行工具将其转换为纯文本,甚至 使用 TextEdit

如何在命令行使用 Diff 比较文件

diff 是一个命令行工具,因此您必须首先启动位于 /Applicaitons/Utilities/ 中的终端应用程序,然后您就可以开始了。

diff在命令行的基本语法如下:

diff(文件输入 1)(文件输入 2)

例如,如果我们想在当前目录中比较 bash.txt 和 bash2.txt,语法如下所示:

diff bash.txt bash2.txt

-w 标志对于纯文本文件很方便,因为它告诉 diff 在比较文件时忽略空格。当然,如果需要,您也可以使用文件的完整路径进行比较,例如将已编辑的主机文件与其他地方的另一个版本进行比较:

diff -w /etc/hosts ~/Downloads/BlockEverythingHosts.txt

示例输出可能如下所示:

$ diff -w /etc/hosts ~/Downloads/BlockEverythingHosts.txt

0a1

< ##< 127.0.0.1 localhost> # 休息时间

9a12

> 127.0.0.1 facebook.com

大于号和小于号用作各种指针箭头,指示差异源自与原始命令语法中显示的顺序相关的文件。

Diff非常强大,你也可以使用diff来比较两个目录contents,这有助于验证备份或文件更改或文件完整性。

显然 diff 需要命令行,但如果您在比较文档时更愿意使用熟悉的 Mac OS 图形界面,那么还有各种可用的选项,包括 用 Microsoft Word 比较两个 word 文档如果您正在使用代码和语法,请尝试 Xcode FileMerge 工具、git,甚至是出色的 Mac 版 BBEdit 文本编辑器。如果您在 Windows 上,“fc”命令的工作原理与 diff 命令基本相同,“fc file1 file2”实现与 diff 大致相同的比较。

对于 diff 或将两个文件相互比较,还有其他技巧吗?在下面分享它们!