cut
cut工具主要用于在文件中剪切数据,它的处理机制与sed、awk是一样的,都是以行为处理单位。
cut命令主要接受三个定位方法:-b , -c , -f
- 字节(bytes):-b
- 字符(characters):-c
- 域(fields):-f
-d指明了域分隔符,-f指明要剪切哪几个域,这个用法与awk类似
(截取字符串的方法:http://blog.csdn.net/qq_33951180/article/details/68059098)
sort
sort是常用的排序工具,将每一行作为一个单位进行比较,比较原则是从首字符向后,依次按照ASCII码值进行比较,最后将它们按照升序输出。
sort常用的有如下选项:
-u:在输出行中去除重复行
-r:逆序
sort排序结果默认是升序的,用这个选项可以将sort排序结果改为降序
-o:将排序好的内容写回原文件
由于sort默认是把结果输出到标准输出,所以需要用重定向才能将结果写入文件,形如sort filename > newfile。但是,如果你想把排序结果输出到原文件中,用重定向可就不行了。
-n:以数值进行排序
假设文件中有1,10,100,想按照数值大小进行排序的话就需要用到这个选项
-k和-t:指定间隔符的指定列进行排序
-t指明了域分隔符,-k指明要根据第几列进行排序。例如:file文件中有三列,第一列是产品名称,第二列是数量,第三列是价格,现在需要根据第三列进行排序
-f:忽略大小写进行排序(会将小写字母转换为大写字母进行排序)
sort的其他常用选项
-b:忽略每一行前面的所有空白部分,从第一个可见字符开始比较。
-c:检查文件是否已排好序,如果乱序,则输出第一个乱序的行的相关信息,最后返回1。
-C:检查文件是否已排好序,如果乱序,不输出内容,仅返回1。
-M:以月份来排序,比如JAN小于FEB等等。
uniq
uniq的作用是过滤重复部分、显示文件内容。这个命令读取输入文件,并比较相邻的行。正常情况下,第二个及以后更多个重复行将被删去,行比较是根据所用字符集的排序序列进行的。该命令加工后的结果写到输出文件中。输入文件和输出文件必须不同。如果输入文件用“- ”表示,则从标准输入读取。
该命令常用选项如下:
-d:只显示重复行
-u:只显示文件中不重复的行
-c:显示输出中
在每行行首加上文本行在文件中出现的次数。可以取代-u和-d选项