Linux下文件名编码转换-Convmv
文章目录
背景
由于服务器环境默认字符编码为gbk,当执行程序后生成的日志文件名的字符编码为gbk的,但是程序读取日志的时候用的utf-8编码,当日志文件名包含中文时就不能找到日志,于是可以用Convmv来批量转换文件名的字符编码
下载地址
源代码
https://www.j3e.de/linux/convmv/
目前最新版本: https://www.j3e.de/linux/convmv/convmv-2.05.tar.gz
安装包(rpm等)
https://pkgs.org/download/convmv?
安装
源代码
解压后直接make即可
rpm等安装包安装方法:rpm -ivh convmv-xx.rpm
使用方法
convmv -f GBK -t UTF-8 *.log
# 不过这个命令不会直正的转换,你可以看到转换前后的对比。如果要直正的转换要加上参数 --notest
convmv -f GBK -t UTF-8 --notest *.log
# -f 参数是指出转换前的编码,-t 是转换后的编码。这个千万不要弄错了。不然可能还是乱码哦。还有一个参数很有用。就是 -r 这个表示递归转换当前目录下的所有子目录。
# -r递归使用方法
convmv -f GBK -t UTF-8 -r ./ --notest *.log