如何在Linux中以递归方式将文件夹子树中的所有文件名从UTF-8转换为ASCII

时间:2012-03-29 16:24:39

标签: bash encoding filenames

我对bash脚本很安静,我想将文件夹中的所有文件名从UTF-8编码递归转换为ASCII(这是非常便携的编码)。

我认为iconv命令有一些用处:

iconv -f utf8 -t ascii ...

但我不确定如何使用它。 至多bash脚本应该打印一些关于它的进度的提示,比如它刚刚转换的文件名 非常感谢你。

1 个答案:

答案 0 :(得分:2)

find /my/path -type f > utf8list
iconv utf8list > asciilist
i=1
for file in $(cat utf8list); do
  newname=$(head -$i asciilist | tail -1 | tr -d '\n')
  #mv $file $newname 
  echo "mv $file $newname"
  let i++
done