sudo apt-get install cconv
家目录创建脚本文件:
vim ~/rename_utf8-cn.sh
输入以下代码(以繁体 -> 简体为例):
程序代码:
#!/bin/sh
files=$(ls --format=single-column)
#通过IFS来定义分隔符,防止文件名含有空格关键字符导致运行失败;如果要指定多个IFS字符,只要将他们在赋值行串起来就行
IFS=$'\n'
for i in $files
do
var=`file -i ${i}`
result=$(echo $var | grep directory)
if [[ "$result" != "" ]]; then
echo "${i} 为目录"
else
newname=`echo $i | cconv -f utf8 -t utf8-cn`
if [[ $i == $newname ]]; then
echo -n "$i"
echo -n -e "\033[31m --> \033[0m"
echo "$i"
else
`mv $i $newname`
echo -n "$i"
echo -n -e "\033[32m --> \033[0m"
echo "$newname"
fi
fi
done
files=$(ls --format=single-column)
#通过IFS来定义分隔符,防止文件名含有空格关键字符导致运行失败;如果要指定多个IFS字符,只要将他们在赋值行串起来就行
IFS=$'\n'
for i in $files
do
var=`file -i ${i}`
result=$(echo $var | grep directory)
if [[ "$result" != "" ]]; then
echo "${i} 为目录"
else
newname=`echo $i | cconv -f utf8 -t utf8-cn`
if [[ $i == $newname ]]; then
echo -n "$i"
echo -n -e "\033[31m --> \033[0m"
echo "$i"
else
`mv $i $newname`
echo -n "$i"
echo -n -e "\033[32m --> \033[0m"
echo "$newname"
fi
fi
done
按下ESC,输入:wq保存并退出
使用方法:
在处理路径下,执行bash ~/rename_utf8-cn.sh 或zsh用户输入sh ~/rename_utf8-cn.sh
[此贴子已经被作者于2021-5-30 23:04编辑过]