sort和uniq的常见选项及其使用

sort
sort,见名知意,就是用来排序的。sort读取每一行输入,并按照指定的分隔符(默认为空格)将每一行划分成多个字段,这些字段就是排序的对象。同时,sort可以指定何种排序规则进行排序,默认使用当前字符集排序规则,还可以按照字典排序规则、数值排序规则、按照月份排序规则、按照文件大小排序规则等。

常见选项   
-r选项,以降序排序,sort默认的排序方式是升序。注意:-r这个选项并不参与排序,而是操作排序完成后的结果。
sort和uniq的常见选项及其使用
-u在输出行中去除重复行
sort和uniq的常见选项及其使用
-n选项,以数值来排序。
sort和uniq的常见选项及其使用
-c选项,检查文件是否已排好序,如果乱序,则输出第一个乱序的行的相关信息,最后返回1。
-C选项,检查文件是否已排好序,如果乱序,则返回1。虽然没有输出相关信息,但是可以通过查看其退出码(echo $?)来确定文件是否已序。
sort和uniq的常见选项及其使用
-b选项,忽略每一行前边的空白区域,-n选项隐含此选项。
sort和uniq的常见选项及其使用
-d选项,按照字典顺序排序,只支持字母、数值、空白。除了特殊符号,一般情况下,等同于默认排序信息。
sort和uniq的常见选项及其使用
-f选项,将所有的小写当成大写字母。
sort和uniq的常见选项及其使用
将f和u两个选项结合起来使用,对于重复行留下的是先出现的,不区分大小写

-k选项,指定要排序的key,key由字段组成。
-t选项,指定字段分隔符。
sort和uniq的常见选项及其使用
-o选项,将结果输出到指定文件中。
sort和uniq的常见选项及其使用
uniq
用于去除相邻位置的重复行
sort和uniq的常见选项及其使用
uniq和sort联合使用,先sort将文件按行排序,所有相同的行就会出现在相连的地方,然后再使用uniq,可以去掉文件中所有重复的行
sort和uniq的常见选项及其使用
常用的选项
-c选项,显示输出中,在每行行首加上本行在文件中出现的次数
sort和uniq的常见选项及其使用
-d选项,只显示重复行。
-u只显示文件中不重复的各行。
sort和uniq的常见选项及其使用
从上边的例子也可以看出,uniq一般会和sort搭配使用,两者搭配,可以实现很多功能。比如说求多个文件的交集、并集、补集等,在这里演示一下求两个文件的交、并、补集。
sort和uniq的常见选项及其使用