Linux中的编码转换程序convmv的安装和使用教程
程序员文章站
2022-12-07 08:39:12
这篇文章主要介绍了Linux中的编码转换程序convmv的安装和使用教程,在编程和处理Windows下移动过来的文件时经常可以用到,需要的朋友可以参考下... 16-04-19...
今天介绍个文件名转码的工具--convmv,convmv能帮助我们很容易地对一个文件,一个目录下所有文件进行编码转换,比如gbk转为utf8等。
安装:
复制代码
代码如下:yum install convmv
(这里的示例环境为centos系统)
语法:
复制代码
代码如下:convmv [options] file(s) ... directory(s)
主要选项:
1、-f encoding
指定目前文件名的编码,如-f gbk
2、-t encoding
指定将要转换成的编码,如-f utf-8
3、-r
递归转换目录下所有文件名
4、--list
列出所有支持的编码
5、--notest
默认是只打印转换后的效果,加这个选项才真正执行转换操作。
常用参数:
-r 递归处理子文件夹
–notest 真正进行操作,默认情况下是不对文件进行真实操作
–list 显示所有支持的编码
–unescap 可以做一下转义,比如把%20变成空格
-i 交互模式(询问每一个转换,防止误操作)
convmv 的使用方法:
convmv -f 源编码 -t 新编码 [选项] 文件名
例子:
转换文件编码, 以 big5转换成 utf-8 为例:
[/code]
$ convmv -f big5 -t utf-8 /disk1
[/code]
列出可以用的编码:
复制代码
代码如下:$ convmv --list
转换档名中的 %xx 这种 16 进位的编码:
复制代码
代码如下:$ convmv --unescape 档案
把档名中的字母全转换成小写:
复制代码
代码如下:$ convmv --lower 档案
要注意的地方是它预设只会把转换的结果秀出来, 要再加上 --notest 参数才会真正去改文件名。
另外几个用到的参数是 -r 会连子目录的文件一起转换, -i 是互动模式, 一个一个档案询问是否转换等等, 可以用 --help 参数看说明。