sort和uniq的常見選項及其使用

sort
sort,見名知意,就是用來排序的。sort讀取每一行輸入,並按照指定的分隔符(默認爲空格)將每一行劃分成多個字段,這些字段就是排序的對象。同時,sort可以指定何種排序規則進行排序,默認使用當前字符集排序規則,還可以按照字典排序規則、數值排序規則、按照月份排序規則、按照文件大小排序規則等。

常見選項   
-r選項,以降序排序,sort默認的排序方式是升序。注意:-r這個選項並不參與排序,而是操作排序完成後的結果。

-u在輸出行中去除重複行

-n選項,以數值來排序。

-c選項,檢查文件是否已排好序,如果亂序,則輸出第一個亂序的行的相關信息,最後返回1。
-C選項,檢查文件是否已排好序,如果亂序,則返回1。雖然沒有輸出相關信息,但是可以通過查看其退出碼(echo $?)來確定文件是否已序。

-b選項,忽略每一行前邊的空白區域,-n選項隱含此選項。

-d選項,按照字典順序排序,只支持字母、數值、空白。除了特殊符號,一般情況下,等同於默認排序信息。

-f選項,將所有的小寫當成大寫字母。

將f和u兩個選項結合起來使用,對於重複行留下的是先出現的,不區分大小寫

-k選項,指定要排序的key,key由字段組成。
-t選項,指定字段分隔符。

-o選項,將結果輸出到指定文件中。

uniq
用於去除相鄰位置的重複行

uniq和sort聯合使用,先sort將文件按行排序,所有相同的行就會出現在相連的地方,然後再使用uniq,可以去掉文件中所有重複的行

常用的選項
-c選項,顯示輸出中,在每行行首加上本行在文件中出現的次數

-d選項,只顯示重複行。
-u只顯示文件中不重複的各行。

從上邊的例子也可以看出,uniq一般會和sort搭配使用,兩者搭配,可以實現很多功能。比如說求多個文件的交集、並集、補集等,在這裏演示一下求兩個文件的交、並、補集。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章