diff 命令生成器
生成 diff 命令,逐行比较文件
diff 入门
## 什么是 diff?
`diff` 会逐行比较两个文件(或目录),并打印出有差异的行。它是补丁、代码审查和合并冲突解决的基础。
## 如何使用
1. **指定文件**:输入要比较的两个文件(file1 和 file2)。 2. **设置选项**(可选):`-u` 输出统一格式,`-q` 只给出一个快速的是/否判断,`-r` 递归比较目录。 3. **复制并运行**:将生成的命令复制到终端中执行。
输出格式
### `-u` 统一格式 补丁和大多数代码工具的默认格式。会在每处改动前后显示几行上下文,并用 `+` / `-` 标记新增 / 删除的行。
### `-q` 简要 只打印两个文件是否不同(不显示细节)。适合用于脚本判断。
### `-r` 递归 在比较两个目录时,进入对应的子目录进行比较。
### `-i` / `-w` 忽略差异 `-i` 忽略大小写;`-w` 忽略所有空白字符。当只关心内容时很有用。
### 退出码 当文件相同时 `diff` 以 `0` 退出,不同时以 `1` 退出,出错时以 `2` 退出——在 shell 脚本里很实用:
``` if ! diff -q old.txt new.txt > /dev/null; then echo "changed"; fi ```
▶我应该用哪种输出格式?
`-u`(统一格式)是补丁、pull request 以及 `patch` 等工具的事实标准。默认的“普通”格式如今已很少使用。
▶如何忽略只有空白变化的改动?
加上 `-w` 标志可以忽略所有空白字符,或用 `-b` 只忽略空白数量的变化。若要忽略大小写,使用 `-i`。
如果这个工具对你有帮助的话,请考虑请我喝杯咖啡。
请给我买杯咖啡吧。