1. 製作 patch 檔
- 代碼: 選擇全部
diff -Nur foobar-1.9.9 foobar-2.0.0 > foobar_1.9.9_to_2.0.0.diff
這樣就會製作出 foobar 這個軟體從 1.9.9 到 2.0.0 的所有變化,存成檔案。
寄給開發者之前還可以看看 patch 裡是否有多餘無用的資訊,例如 tab 變成 space、多了幾行空白之類的…總之 patch 越乾淨越好,不要多改一些有的沒的。
乾淨的 patch 會讓開發者更容易接受。
2. 打補丁(apply patch)
- 代碼: 選擇全部
cd foobar-1.9.9
patch -p1 < PATH/TO/THE/PATCH/FILE/foobar_1.9.9_to_2.0.0.diff
這樣就會把 foobar-1.9.9 變成 foobar-2.0.0
3. 大量檔案改變編碼
你有大量 Big5 檔案想換成 UTF-8 嗎?
- 代碼: 選擇全部
mkdir foobar.utf8
diff -Nur foobar.utf8 foobar.big5 > foobar_big5.diff
iconv -f CP950 -t UTF-8 -c foobar_big5.diff > foobar_utf8.diff
cd foobar.utf8
patch -p1 < ../foobar_utf8.diff
這樣就會把 foobar.big5 裡所有的檔案(含子目錄裡的檔案、子目錄的子目錄裡的檔案…)
轉換成 UTF-8,且所有目錄結構完全不變。
同樣道理,這個技巧可以用於簡繁轉換、dos2unix 文件格式轉換、各種文件格式互轉…