May 29

[转]文件名编码转换convmv 雷阵雨

linuxing , 11:47 , 基础知识 » 系统命令 , 评论(0) , 引用(0) , 阅读(26449) , Via 本站原创 | |
   经常遇到要把GBK或者UTF-8编码的文件转成其它编码的情况。(例如:在utf8的locale中,要把文件复制到windows的分区中,或打包发送给使用Windows的用户,通常要把文件名转换成gbk码。而如果要把gbk的locale转成utf8的,则需要对文件名做编码转换。又或者您使用的发行版默认编码不同,红旗是GB18030,红帽是UTF-8等,这就需要转换编码了。)

手动操作文件夹很麻烦,工具convmv解决了这一问题。并支持批量转换。

注意:
不要在NTFS或FAT文件系统上做此种操作,否则可能产生意外结果。如果要在Linux中正确显示NTFS和 FAT的中文件名,请参阅挂载Windows分区。

convmv存在于常见操作系统的源中。如果当前没有工具,可以直接安装。
引用
# rpm -qa|grep convmv
convmv-1.08-3.EL

格式:
引用
convmv -f 源编码 -t 新编码 [选项] 文件名

常见有用的选项有:
引用
-r  递归处理子文件夹  
--notest  真正进行操作,请注意在默认情况下是不对文件进行真实操作的,而只是试验。  
--unescape  可以做一下转义,比如把%20变成空格,如果你不知道这是在做什么,就不要尝试了。

内容来自:
linux wiki cn

附录:
convmv只能转换文件名,但不能对文件内容编码进行转换。文件内容编码的转换,请使用iconv命令。
Tags: ,
发表评论
表情
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
打开HTML
打开UBB
打开表情
隐藏
记住我
昵称   密码   游客无需密码
网址   电邮   [注册]