Linux常用命令之文本处理

Linux

Linux下文本处理是指对文本进行查找、截取、去重、排序等操作。 Linux提供了大量优秀的命令, 使得在Linux下进行文本处理极其的方便,效率也非常的高。日志分析、文本抽取等等经常会用到文本处理。下面主要讲解下文本处理命令(cut/sort/wc/uniq)。

cut命令用户显示行中的指定部分,删除文件中指定字段。
-b,–bytes=LIST 输出这些字节
-c,–characters=LIST 输出这些字符
-d,–delimiter=DELIM 使用DELIM取代TAB做字段(field)分隔符
-f,–fields=LIST 输出这些字段
-n (忽略)
-s,–only-delimited 不显示没有分隔符的行
–output-delimiter=STRING 使用STRING作为输出分隔符,缺省(的输出分隔符)为输入分隔符
–help 显示帮助信息
–version 显示版本信息
使用且只使用-b,-c或-f中的一个选项.LIST由一个范围(range)或逗号隔开的多个范围组成.范围是下列形式之一:
N 第N个字节,字符或字段,从1计数起
N- 从第N个字节,字符或字段直至行尾
N-M 从第N到第M(并包括第M)个字节,字符或字段
-M 从第1到第M(并包括第M)个字节,字符或字段
如果没有指定文件FILE,或FILE是-,就从标准输入读取数据.

sort命令是在Linu将文件进行排序,并将排序结果标准输出。sort命令的对象可以从文件,也可以从stdin中获取输入。
-b:忽略每行前面开始出的空格字符;
-c:检查文件是否已经按照顺序排序;
-d:排序时,处理英文字母、数字及空格字符外,忽略其他的字符;
-f:排序时,将小写字母视为大写字母;
-i:排序时,除了040至176之间的ASCII字符外,忽略其他的字符;
-m:将几个排序号的文件进行合并;
-M:将前面3个字母依照月份的缩写进行排序;
-n:依照数值的大小排序;
-o:<输出文件>:将排序后的结果存入制定的文件;
-r:以相反的顺序来排序;
-t:<分隔字符>:指定排序时所用的栏位分隔字符;
+:<起始栏位>-<结束栏位>:以指定的栏位来排序,范围由起始栏位到结束栏位的前一栏位。

wc命令用来计算数字。利用wc指令我们可以计算文件的Byte数、字数或是列数,若不指定文件名称,或是所给予的文件名为“-”,则wc指令会从标准输入设备读取数据。
-c, –bytes打印字节数
-m, –chars 打印字符数
-l, –lines 打印行数
-L, –max-line-length 打印最长行的长度
-w, –words 打印单词数

uniq命令用于报告或忽略文件中的重复行,一般与sort命令结合使用。
-c, –count 在每行前加上表示相应行目出现次数的前缀编号
-d, –repeated 只输出重复的行
-D, –all-repeated[=delimit-method 显示所有重复的行
delimit-method={none(default),prepend,separate}
以空行为界限
-f, –skip-fields=N 比较时跳过前N 列
-i, –ignore-case 在比较的时候不区分大小写
-s, –skip-chars=N 比较时跳过前N 个字符
-u, –unique 只显示唯一的行
-z, –zero-terminated 使用’\0’作为行结束符,而不是新换行
-w, –check-chars=N 对每行第N 个字符以后的内容不作对照
–help 显示此帮助信息并退出
–version 显示版本信息并退出

来源:Linux常用命令之文本处理

发表评论

电子邮件地址不会被公开。 必填项已用*标注