iconv命令linux iconv命令详细

linuxiconvlatin1转utf8

linux下使用iconv命令转换gbk编码为UTF-8编码

创新互联公司专注为客户提供全方位的互联网综合服务,包含不限于网站制作、成都做网站、东港网络推广、重庆小程序开发、东港网络营销、东港企业策划、东港品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联公司为所有大学生创业者提供东港建站搭建服务,24小时服务热线:18980820575,官方网址:www.cdcxhl.com

1.

通过iconv -l 命令查看,其支持的编码格式还不少,之间可以互相转换

2.

转换gbk编码文件为utf-8编码文件简洁命令:iconv -f gbk -t utf-8 index.html aautf8.html -f指的是原始文件编码,-t是输出编码 index.html 是原始文件 aautf8.html是输出结果文件

3.

转换gbk编码文件为utf-8编码文件详细命

Linux下常用文本处理命令

Linux下常用文本处理命令大全

Linux下面有很多经典的非常有用的命令,其中处理文本的命令就有很多。下面就让我们一起看看这些经典的Linux文本处理命令有哪些吧。

一. sort

文件排序, 通常用在管道中当过滤器来使用. 这个命令可以依据指定的关键字或指定的字符位置, 对文件行进行排序. 使用-m选项, 它将会合并预排序的输入文件. 想了解这个命令的全部参数请参考这个命令的info页.

二. tsort

拓扑排序, 读取以空格分隔的有序对, 并且依靠输入模式进行排序.

三. uniq

这个过滤器将会删除一个已排序文件中的重复行. 这个命令经常出现在sort命令的管道后边.

四. expand, unexpand

expand命令将会把每个tab转化为一个空格. 这个命令经常用在管道中.

unexpand命令将会把每个空格转化为一个tab. 效果与expand命令相反.

五. cut

一个从文件中提取特定域的工具. 这个命令与awk中使用的print $N命令很相似, 但是更受限. 在脚本中使用cut命令会比使用awk命令来得容易一些. 最重要的选项就是-d(字段定界符)和-f(域分隔符)选项.

六. paste

将多个文件, 以每个文件一列的形式合并到一个文件中, 合并后文件中的每一列就是原来的一个文件. 与cut结合使用, 经常用于创建系统log文件.

七. join

这个命令与paste命令属于同类命令. 但是它能够完成某些特殊的目地. 这个强力工具能够以一种特殊的形式来合并两个文件, 这种特殊的形式本质上就是一个关联数据库的简单版本.

join命令只能够操作两个文件. 它可以将那些具有特定标记域(通常是一个数字标签)的行合并起来, 并且将结果输出到stdout. 被加入的文件应该事先根据标记域进行排序以便于能够正确的匹配.

八. head

把文件的头部内容打印到stdout上(默认为10行, 可以自己修改). 这个命令有一些比较有趣的选项.

九. tail

将一个文件结尾部分的内容输出到stdout中(默认为10行). 通常用来跟踪一个系统logfile的.修改情况, 如果使用-f选项的话, 这个命令将会继续显示添加到文件中的行.

十. wc

wc可以统计文件或I/O流中的”单词数量”:

十一. fold

将输入按照指定宽度进行折行. 这里有一个非常有用的选项-s, 这个选项可以使用空格进行断行(译者: 事实上只有外文才需要使用空格断行, 中文是不需要的)(请参考例子 12-23和例子 A-1).

十二. fmt

一个简单的文件格式器, 通常用在管道中, 将一个比较长的文本行输出进行”折行”.

十三. col

这个命令用来滤除标准输入的反向换行符号. 这个工具还可以将空白用等价的tab来替换. col工具最主要的应用还是从特定的文本处理工具中过滤输出, 比如groff和tbl. (译者: 主要用来将man页转化为文本.)

十四. column

列格式化工具. 通过在合适的位置插入tab, 这个过滤工具会将列类型的文本转化为”易于打印”的表格式进行输出.

十五. colrm

列删除过滤器. 这个工具将会从文件中删除指定的列(列中的字符串)并且写到文件中, 如果指定的列不存在, 那么就回到stdout. colrm 2 4 filename将会删除filename文件中每行的第2到第4列之间的所有字符. p="" /filename将会删除filename文件中每行的第2到第4列之间的所有字符.

Caution: 如果这个文件包含tab和不可打印字符, 那将会引起不可预期的行为. 在这种情况下, 应该通过管道的手段使用expand和unexpand来预处理colrm.

十六. nl

计算行号过滤器. nl filename将会把filename文件的所有内容都输出到stdout上, 但是会在每个非空行的前面加上连续的行号. 如果没有filename参数, 那么就操作stdin.

nl命令的输出与cat -n非常相似, 然而, 默认情况下nl不会列出空行.

十七. pr

格式化打印过滤器. 这个命令会将文件(或stdout)分页, 将它们分成合适的小块以便于硬拷贝打印或者在屏幕上浏览. 使用这个命令的不同的参数可以完成好多任务, 比如对行和列的操作, 加入行, 设置页边, 计算行号, 添加页眉, 合并文件等等. pr命令集合了许多命令的功能, 比如nl, paste, fold, column, 和expand.

pr -o 5 –width=65 fileZZZ | more 这个命令对fileZZZ进行了比较好的分页, 并且打印到屏幕上. 文件的缩进被设置为5, 总宽度设置为65.

一个非常有用的选项-d, 强制隔行打印(与sed -G效果相同).

十八. gettext

GNU gettext包是专门用来将程序的输出翻译或者本地化为不同国家语言的工具集. 在最开始的时候仅仅支持C语言, 现在已经支持了相当数量的其它程序语言和脚本语言.

想要查看gettext程序如何在shell脚本中使用. 请参考info页.

十九. msgfmt

一个产生二进制消息目录的程序. 这个命令主要用来本地化.

二十. iconv

一个可以将文件转化为不同编码格式(字符集)的工具. 这个命令主要用来本地化.

二十一. recode

可以认为这个命令是上边iconv命令的专业版本. 这个非常灵活的并可以把整个文件都转换为不同编码格式的工具并不是Linux标准安装的一部分.

二十二. TeX, gs

TeX和Postscript都是文本标记语言, 用来对打印和格式化的视频显示进行预拷贝.

TeX是Donald Knuth精心制作的排版系统. 通常情况下, 通过编写脚本的手段来把所有的选项和参数封装起来一起传到标记语言中是一件很方便的事情.

linux下文件编码格式转换方法(gb18030/utf-8)

linux下文件编码格式转换方法(gb18030/utf-8)

在 Linux 做开发或者系统管理遇到乱码是经常的事情,主要windows下中文的默认编码是bg2312,而 linux下是utf-8。很多时候 涉及到和windows平台系统的通信免不了编码的转化,可能大部分人都用iconv库函数(包含在glib中)和iconv命令来执行编码转换,即:

iconv -f gb18030 -t utf-8 file1.txt -o file2.txt

说实话这个命令不好使,一方面容易重复转换,另一方面不支持通配符,无法成批转 换,文件少了还好说,要是一大堆文件岂不是要累死?

今天我要推荐的是另一个 Shell 下编码转换工具enca。用它不仅可以转换编码,还可以查看文件的原始编码,而且还支持成批转换。使用上也比iconv方便一些。安装enca很简单,一般用源安装就行了,enca用法如下:

enca -L 当前语言 文件名

enca -L zh_CN file //检查文件的编码

enca -L 当前语言 -x 目标编码 文件名

enca -L zh_CN -x UTF-8 file //将文件编码转换为”UTF-8″编码

enca -L zh_CN -x UTF-8 file1 file2 //如果不想覆盖原文件可以这样

除了有检查文件编码的功能以外,”enca”还有一个好处就是如果文件本来就是你要转换的那种编码,它不会报错,还是会print出结果来, 而”iconv”则会报错。这对于脚本编写是比较方便的事情。


当前文章:iconv命令linux iconv命令详细
转载来源:http://cdiso.cn/article/doedgdj.html

其他资讯