使用diff命令可精确比对文本差异:1. 基础比较用diff file1 file2;2. 并列显示用diff -y;3. 忽略空白用diff -w或-wB;4. 统一格式用diff -u生成带±标记的上下文输出。

如果您需要对比两个文本文件的内容差异,但不确定它们在哪些行或字符上有所不同,可以使用终端中的命令行工具进行精确比对。以下是利用 macOS 自带功能实现文件比较的具体方法:
本文运行环境:MacBook Pro,macOS Sonoma
一、使用 diff 命令进行基础文本比较
diff 是 macOS 终端内置的文本比较工具,能够逐行分析两个文件之间的差异,并输出不同之处的具体位置和内容。
1、打开“终端”应用程序,可通过聚焦搜索(Command + 空格)输入“终端”快速启动。
2、输入以下命令格式:diff 文件路径1 文件路径2。
3、例如:diff ~/Documents/file1.txt ~/Documents/file2.txt,系统将显示两文件间的差异行。
4、若无输出,则表示两个文件内容完全相同。
二、使用 diff 以并列方式显示差异
通过添加参数可以让 diff 以更直观的方式展示两个文件的对比结果,便于快速识别修改内容。
1、在终端中输入命令:diff -y 文件1 文件2。
2、-y 参数表示以并排格式输出,左右两侧分别显示两个文件的对应行。
3、差异部分会用 | 符号标记,相同内容则用 分隔。
4、可结合 --width 参数控制输出宽度,提升可读性,如:diff -y --width=100 file1.txt file2.txt。
三、忽略空白字符差异进行比较
某些情况下,文件可能因空格或制表符的不同而被判定为不一致,使用特定选项可排除此类干扰。
1、执行命令:diff -w 文件1 文件2。
2、-w 参数会忽略所有空白字符(包括空格、Tab)的差异。
3、如需同时忽略空白变化和空行,使用 -B 参数,例如:diff -wB file1.txt file2.txt。
四、生成可读性更强的合并格式输出
使用合并模式可以将两个文件的差异整合成一种带标记的连续格式,适合快速浏览整体变更情况。
1、输入命令:diff -u 文件1 文件2。
2、-u 参数生成“统一上下文”格式输出,包含少量上下文行及 +/- 标记。
3、输出结果中,以 - 开头的行表示仅存在于第一个文件,以 + 开头的行表示仅存在于第二个文件。
4、该格式常用于制作补丁文件或版本控制系统中。









