设为首页 加入收藏

TOP

Linux对一个3G的文本进行编码转换全过程
2014-11-24 00:45:19 来源: 作者: 【 】 浏览:4
Tags:Linux 一个 文本 进行 编码 转换 全过程

本过程中涉及到的Linux的命令有:split, iconv, cat


问题:有一个3G的文本a.txt,编码格式为gbk,现在需要对其进行转换成为utf-8。


难点:iconv的转换是在内存中进行的,因此3G大小的文本,无法进行直接转换。


思路:先利用split进行文件切分,然后对每一个字文件进行ivonv转换,最后进行cat合并。


具体操作如下:


1) ll -h a.txt 查看文件的大小,2.9G


2) wc -l a.txt 查看文件的行数,9千200万行


3) split -l 20000000 a.txt chunk 按照每个文件2千万行进行切割,共分成5个文件


4) 进行转换
iconv -f gbk -t utf-8 chunka > chunka_utf8 -c
iconv -f gbk -t utf-8 chunkb > chunkb_utf8 -c
iconv -f gbk -t utf-8 chunkc > chunkc_utf8 -c
iconv -f gbk -t utf-8 chunkd > chunkd_utf8 -c
iconv -f gbk -t utf-8 chunke > chunke_utf8 -c


5) rm chunka chunkb chunkc chunkd chunke 删除原文件


6) cat chunk* > a.txt_utf8 进行合并


至此,工作完成。


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Linux下线程的挂起和恢复 下一篇Linux下kdevelop&ns的工程建立

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: