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`。
如果这个工具对你有帮助,请考虑请我喝杯咖啡。
請幫我買杯咖啡吧。