Linux批量转换文件名编码
01 August 2010
今天从网上用wget下了很多的电子书,不过文件名的编码都是GBK,系统默认为UTF-8,可以用convmv来转换文件名编码,例如将GBK编码的文件filename重命名为UTF-8:
convmv -f gbk -t utf-8 filename --notest
由于需要转换的文件比较多,写了个脚本来实现,主要就是一个文件目录的递归遍历:
list_dir(){ for file in $1/* do if [ -d $file ]; then echo "$file is dirctory" list_dir $file elif [ -f $file ]; then echo "convert $file..." convmv -f gbk -t utf-8 $file --notest fi done } if [ $# -gt 0 ]; then list_dir "$1" else list_dir "." fi
blog comments powered by Disqus