怎麼使用iconv批量轉碼?
阿新 • • 發佈:2020-11-05
參考資料:
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的終止標誌。
執行後的效果如下:
檢查後一切正常!