linux 文本处理二

来源:互联网 发布:淘宝发货地不是韩国 编辑:程序博客网 时间:2024/06/14 14:22

uniq

uniq是用来从排序好的结果中删除重复的行,一般与sort结合使用。sort命令可以使用-u选项代替uniq

uniq必须是处理已经排序过的数据,否则不会产生任何影响,如下所示:


下面是uniq命令的常用选项:

选项描述-c输出所有的重复航并且每行开头显示重复的次数(记数)-d只输出重复行,而不是所有的文本行(找出重复的行)-f n忽略每行的前n个字段,字段是由空格分隔的。-s n忽略每行开始的前n个字符-u输出所有的行,重复的行只输出一次-i比较文本行的时候不区分大小写


cut

cut命令是用来从一行中抽取文本(抽取列),可以接受多个文件为参数或处理标准输出。

 
   参数                              
描述-c  char_list从文本中抽出由char_list定义的文本,char_list可能由一个或者多个逗号分隔的数值区间组成。
例如:cut -c 7-10取出每行的第7到第十个字符
-f  field_list从文本中抽取一个或多个由field_list定义的字段,字段之间可以由逗号分隔-d deli_char在使用-f选项时要使用分隔符来区分字段,默认的分隔符是制表符,可以使用-d来手动指定分隔符。
由于cut抽取文本不灵活,所以cut 命令最好用来其它程序产生的格式化文件中抽取文本,而不是从人们直接输入的文本中抽取


因为我们的 /etc/passwd文件是由冒号分隔开的,最好用 cut 来抽取字段而不是字符。这是因为每行不太可能包含相同的字符数,这就使计算每行中字符的位置变得困难或者是不可能


0 0
原创粉丝点击