3
我要尋找一個解決一批標準化的文件名使用bash:規範化文件名:去掉空格,取代國際字符
- 替換爲空「_」
- 更換國際字符「
ť,ž,ý,á,í,é,ő,ú,ű,ó,ü,ö...
」英語相當於「t,z,y,a,i,e,o,u,u,o,u,o...
「
我要尋找一個解決一批標準化的文件名使用bash:規範化文件名:去掉空格,取代國際字符
ť,ž,ý,á,í,é,ő,ú,ű,ó,ü,ö...
」英語相當於「 t,z,y,a,i,e,o,u,u,o,u,o...
「您可以使用命令行工具iconv
來實現此目的。它也支持音譯。這裏有一個簡單的例子:
echo "Viele Grüße" |
iconv --to-code ASCII//TRANSLIT
輸出結果是:Viele Grusse
。
您可以按如下方式使用它來正常化存儲在變量路徑名:
pathname="$(iconv --to-code ASCII//TRANSLIT <<< "${pathname// /_}")"
我首先想到的是用'tr':'TR 「ťžýáíéőúűóüö......」 「_tzyaieouuouo ......」' – lurker
@mbratch,不知道這是否適用於一般情況。列表*所有*可能的音譯你可以在UTF-8中找到這聽起來不是一個好主意。 – Kamiccolo
@Kamiccolo我會同意的,但是OP沒有說明字符集有多大,所以我把這個選項作爲評論放在那裏。如果真的需要所有的可能性,那麼就需要設置手動翻譯表,然後編寫一個腳本來翻譯。 – lurker