1. 程式人生 > 實用技巧 >怎麼使用iconv批量轉碼?

怎麼使用iconv批量轉碼?

  參考資料:

  https://cloud.tencent.com/developer/article/1084672

  我們已經知道iconv是一個命令列下用於轉碼的工具,當進行單個文字檔案的轉碼時可以參照這篇文章:https://www.cnblogs.com/chester-cs/p/11784079.html。常見的應用場景就是macbook上用utf8解碼GB碼出現亂碼。

  但是,今天遇到了一個需求是進行批量的轉碼。於是我找到了參考資料中的文章,並以圖示的方式進行解釋。

  精髓就是一段程式碼:

find * -exec sh -c "iconv -f GB18030 -t utf-8 {} > ../utf-8/{}.txt" \;

  假設我們有這麼多文字:

  cd 到當前路徑然後執行 find * 就會找到所有的檔案。

  find -exec 是 find 的特色用法。sh -c 就是執行一個單行的指令碼

  "iconv -f GB18030 -t utf-8 {} > ../utf-8/{}.txt"

  這個指令碼就是將當前的檔案轉碼後放到隔壁的utf-8資料夾下,並加上字尾.txt

  最後別忘記了 \; \ 是轉義字元,; 是find -exec的終止標誌。

  執行後的效果如下:

  檢查後一切正常!