- 改變將路徑下的目錄與檔案名稱的編碼方式
* 先測試看看:從 big5 編碼轉成 utf8
convmv -f big5 -t utf8 -r --nosmart folder_name* 強制轉換
convmv -f big5 -t utf8 -r --nosmart --notest folder_name
繁、簡體轉換
- 轉換檔案內容:利用 iconv 進行繁、簡互轉
將 gb2312 編碼的簡體轉為 big5 編碼的繁體
iconv sc-gb2312.txt -f gb2312 -t big5 -o output.txt若需要再把編碼轉為 utf8 則再換一次
iconv sc-gb2312.txt -f gb2312 -t big5 | iconv -f big5 -t utf8 -o output.txtbig5 繁體中文要轉成 utf8 編碼的繁體中文
cat tc-big5.txt | iconv -f big5 -t utf8 > output.txt但比較麻煩的不知道編碼的格式為何。如此,可以用 autob5, autogb (需要安裝 zh-autoconvert ) 來協助,需要再轉換 utf8 編碼再 pipe 給 iconv 做,如下:
cat sc-unknow.txt | autob5 | iconv -f big5 -t utf8 > output.txt批次轉換
for i in `ls *.chs.srt`; do cat $i | autob5 | iconv -f big5 -t utf8 > $i.cht-srt ; done
反之亦然,如:
cat tc-big5.txt | autogb | iconv -f gbk -t utf8 > output.txt
* 複雜的情況:
文件內容為 utf8 編碼之簡體,要轉換成 utf8 繁體,則需要中介編碼,如下
cat sc-utf8.txt | iconv -f utf8 -t gb2312 | iconv -f gb2312 -t big5 | iconv -f big5 -t utf8 output.txt
下面則是轉換都是 utf8 的方式繁、簡檔名
- utf8簡體檔名轉成utf8繁體檔名
* 先轉換目錄名稱
find . -type d -print0 | while read -d $'\0' file ; do mv "$file" "$(echo $file | autob5 --input utf8 | iconv -f big5 -t utf8)" ; done* 再轉換檔案名稱
find . -print0 | while read -d $'\0' file ; do mv "$file" "$(echo $file | autob5 --input utf8 | iconv -f big5 -t utf8)" ; donePS:以上用法可避免檔案或目錄名稱中有空白
沒有留言:
張貼留言