注册 登录
编程论坛 Ubuntu

分享 - 文件名简繁转换

lightsnow 发布于 2021-05-24 17:09, 1154 次点击
首先确认linux/ubuntu已安装cconv
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

按下ESC,输入:wq保存并退出

使用方法:
在处理路径下,执行bash ~/rename_utf8-cn.sh 或zsh用户输入sh ~/rename_utf8-cn.sh


[此贴子已经被作者于2021-5-30 23:04编辑过]

0 回复
1