linux下面如何将文件编码批量转化
2017-08-13 09:58
656 查看
命令行下查看看文件的编码
file -i 文件
就会输出linux识别出来的文件编码
一、运用iconv命令执行编码转换文件内容编码转换
iconv -f 现在的编码 -t 要转换的编码 文件
执行之后只是输出经过转换的文本而已,要保存的话
iconv -f 现在的编码 -t 要转换的编码 文件 -o 目标文件
或者
iconv -f 现在的编码 -t 要转换的编码 文件 > 目标文件
二、更好的傻瓜型命令行工具enca,它不但能智能的识别文件的编码,并且还支持成批转换。
enca -x utf-8 *
以上命令是转换当前目录下的所有文件的编码为utf-8
也可以针对单个文件,另外还有一个参数是指定当前语言
enca -L zh_CN -x utf-8 文件
三、文件名编码转换
由于如今用linux,原来在windows里的文件都是用GBK编码的。所以copy到linux下是乱码,文件内容能够用iconv来转 换可是好多中文的文件名仍旧乱码,找到个能够转换文件名编码的命令,就是convmv。
convmv命令细致参数
比如
convmv -f GBK -t UTF-8 *.mp3
不过这个命令不会直正的转换,你能够看到转换前后的比拟。假设要直正的转换要加上参数 –notest
convmv -f GBK -t UTF-8 –notest *.mp3
-f 参数是指出转换前的编码,-t 是转换后的编码。这个千万不要弄错了。不然能够仍旧乱码哦。尚有一个参数很有用。就是 -r 这个表示递归转换现在目录下的一切子目录。
四、目录下所有文件递归转换
find default -type d -exec mkdir -p utf/{} \;
find default -type f -exec iconv -f GBK -t UTF-8 {} -o utf/{} \;
这两行命令将default目录下的文件由GBK编码转换为UTF-8编码,目录结构不变,转码后的文件保存在utf/default目录下。
对上面的命令进行解释:
-exec command: 执行命令, 具体介绍见后文. -ok command: 和-exec一样, 除了命令执行需要用户许可. -print: 打印文件名 -ls: 列出文件详细信息
简单地说, -exec或-ok, 将查询到的文件作为参数传递给后面的命令执行, 而参数的位置用{}标识, 即命令中, “{}”替换成find查找出来的文件名, 最后”\;”表示结束符.
file -i 文件
就会输出linux识别出来的文件编码
一、运用iconv命令执行编码转换文件内容编码转换
iconv -f 现在的编码 -t 要转换的编码 文件
执行之后只是输出经过转换的文本而已,要保存的话
iconv -f 现在的编码 -t 要转换的编码 文件 -o 目标文件
或者
iconv -f 现在的编码 -t 要转换的编码 文件 > 目标文件
二、更好的傻瓜型命令行工具enca,它不但能智能的识别文件的编码,并且还支持成批转换。
enca -x utf-8 *
以上命令是转换当前目录下的所有文件的编码为utf-8
也可以针对单个文件,另外还有一个参数是指定当前语言
enca -L zh_CN -x utf-8 文件
三、文件名编码转换
由于如今用linux,原来在windows里的文件都是用GBK编码的。所以copy到linux下是乱码,文件内容能够用iconv来转 换可是好多中文的文件名仍旧乱码,找到个能够转换文件名编码的命令,就是convmv。
convmv命令细致参数
比如
convmv -f GBK -t UTF-8 *.mp3
不过这个命令不会直正的转换,你能够看到转换前后的比拟。假设要直正的转换要加上参数 –notest
convmv -f GBK -t UTF-8 –notest *.mp3
-f 参数是指出转换前的编码,-t 是转换后的编码。这个千万不要弄错了。不然能够仍旧乱码哦。尚有一个参数很有用。就是 -r 这个表示递归转换现在目录下的一切子目录。
四、目录下所有文件递归转换
find default -type d -exec mkdir -p utf/{} \;
find default -type f -exec iconv -f GBK -t UTF-8 {} -o utf/{} \;
这两行命令将default目录下的文件由GBK编码转换为UTF-8编码,目录结构不变,转码后的文件保存在utf/default目录下。
对上面的命令进行解释:
-exec command: 执行命令, 具体介绍见后文. -ok command: 和-exec一样, 除了命令执行需要用户许可. -print: 打印文件名 -ls: 列出文件详细信息
简单地说, -exec或-ok, 将查询到的文件作为参数传递给后面的命令执行, 而参数的位置用{}标识, 即命令中, “{}”替换成find查找出来的文件名, 最后”\;”表示结束符.
相关文章推荐
- linux下面如何将文件编码批量转化
- linux下面如何将文件编码批量转化
- 用脚本如何实现将Linux下的txt文件批量转化为Windows下的txt文件?
- 各种编码范围总结以及linux下面的编码批量转化
- linux 文件编码转化问题啊啊。
- [转]linux下如何查看文件编码格式及转换文件编码
- linux下如何查看文件编码格式及转换文件编码
- 如何利用eclipse实现批量修改文件的编码方式
- 将windows下的GBK编码格式文件转化为Linux下UTF-8编码格式文件
- linux下如何查看文件编码格式及转换文件编码
- Linux下面如何运行 SH文件
- linux下面覆盖文件,如何实现直接覆盖,不提示
- linux 批量修改文件编码格式
- Linux下批量修改文件编码
- Linux如何获取Window7下面的共享文件
- 每天学点linux--(用shell实现将一个文件夹下面的所有文件拷贝到另一个文件夹下/shell下如何重命名一个文件)
- Linux学习之道:Linux下面如何运行 SH文件
- 一句话记录下 linux下 批量将 文件内容编码 转换下
- Linux下如何查看一个文件,如temp.txt 内容的编码方式?
- Linux下面如何运行 SH文件