Linux管线命令之排序命令(sort, wc, uniq)

来源:互联网 发布:电子书设计软件 编辑:程序博客网 时间:2024/06/07 16:38

sort可以对资料流进行排序


sort [-fbMnrtuk] [file or stdin]
选项与参数:
-f :忽略大小写的差异,例如 A 与 a 视为编码相同;
-b :忽略最前面的空格符部分;
-M :以月份的名字来排序,例如 JAN, DEC 等等的排序方法;
-n :使用『纯数字』进行排序(默认是以文字型态来排序的);
-r :反向排序;
-u :就是 uniq ,相同的数据中,仅出现一行代表;
-t :分隔符,预设是用 [tab] 键来分隔;
-k :以那个区间 (field) 来进行排序的意思


使用这个比较有趣的1点是,我们可以对资料流进行分隔然后再以某个区间来排序。

/etc/passwd 内容是以 : 来分隔的,我想以第三栏含后面数据来排序,该如何?[dmtsai@study ~]$ cat /etc/passwd | sort -t ':' -k 3root:x:0:0:root:/root:/bin/bashdmtsai:x:1000:1000:dmtsai:/home/dmtsai:/bin/bashalex:x:1001:1002::/home/alex:/bin/basharod:x:1002:1003::/home/arod:/bin/bash

uniq,可以对资料流中的数据,删除连续重复的信息或者对连续重复信息进行计数,这里的连续重复,指的是既连续,又重复的数据,例如下面有1个文件
 hello
 hi
 hello
 hello
 hi
 hi
然后我们通过uniq进行处理最后得到的将会是
 hello
 hi
 hello
 hi
这1点我们是要注意一下的,所以这个命令通常都会搭配sort一起使用,因为sort可以把资料流给排序了,排序后,资料自然就会都整理好,然后再通过uniq就可以删除重复的资料或者对资料进行计数了,


wc,如果我们要对1个文件进行统计,统计里面有多少行,多少个字符,那么久可以使用这个wc了,用法很简单,只需要在|后加上wc [-l(仅列出行)w(仅列出字符)m(仅列出多少个字符串)]

0 0
原创粉丝点击