直接用系统自带diff命令即可比对文本文件差异:diff -u显示带上下文的差异,-y实现并排对比,-wb忽略空白和空行,-i忽略大小写,支持引号处理空格路径及重定向保存报告。
直接用系统自带的 diff 命令就能比对两个文本文件的差异,不用装任何软件,速度快、结果准。
用 diff -u 查看带上下文的差异
这是最常用也最清晰的方式:
- 打开终端,输入:
diff -u file1.txt file2.txt - 输出中:
• 以 - 开头的行只在第一个文件中存在
• 以 + 开头的行只在第二个文件中存在
• 没有符号的行是两文件共有的上下文(帮你定位差异位置) - 如果完全没输出,说明两个文件内容一模一样
用 diff -y 并排对比,左右直观对照
适合想一眼看出哪一行改了什么:
- 输入命令:
diff -y --width=120 file1.txt file2.txt - 左右两栏分别显示两个文件内容
- 差异行中间用 | 标出,相同行中间是空白或空格分隔
- 加 --width=120 防止文字折行,提升可读性
忽略空格和空行干扰
有时只是缩进或换行不同,不希望被当成差异:
- 忽略所有空白字符(空格、Tab):
diff -w file1.txt file2.txt - 同时忽略空白和空行:
diff -wB file1.txt file2.txt - 若想连大小写也不敏感(比如日志里大小写混用),加 -i:
diff -wi file1.txt file2.txt
快速操作小技巧
- 文件路径含空格?用英文引号包住:
diff -u "my doc.txt" "your doc.txt" - 想把结果保存成比对报告?加重定向:
diff -u a.txt b.txt > report.diff - 不确定文件是不是纯文本?先用 file a.txt 看类型,避免对二进制文件误操作
不复杂但容易忽略










