首頁 > 軟體

Linux中的sort命令

2020-06-16 17:34:43

sort命令是根據不同的資料型別以行為單位對資料進行排序。

簡介

sort命令是根據不同的資料型別以行為單位對資料進行排序。

sort的預設比較規則是從首字元向後,按照ASCII碼值進行比較,將結果按照升序輸出。

用法

sort命令的基本格式如下:

1
sort [-bcfMnrtk] [source-file] [-o output-file]

sort命令可使用的引數有:

1
2
3
4
5
6
7
8
9
10
11
-b   忽略每行前面的所有空格字元,從第一個可見字元開始比較。
-c   檢查檔案是否已經排好序,如果亂序則輸出第一個亂序行的相關資訊,最後返回1
-C   檢查檔案是否已經排好序,如果亂序,則不輸出內容,僅返回1
-f   排序時忽略大小寫字母。
-M   將前面3個字母依照月份的縮寫進行排序,比如JAN小於FEB。
-n   依照數值的大小排序。
-o   將排序後的結果存入指定的檔案
-r   降序輸出
-t   <分隔字元>   指定排序時所用的欄位分隔字元
-u   在輸出行中去除重複行
-k   選擇以哪個區間進行排序。

下面將會對這些引數進行介紹,其中簡單的引數就不再贅述了。

引數

-o選項

sort是把排序後結果輸出到標準輸出,所以需要使用重定向將結果寫入指定的檔案,比如sort file > newfile

但是重定向的方式在遇到這種需求就無能為力了——把結果輸出到原檔案中。

如果還是使用重定向的方式,則會把原檔案給清空。

而使用-o引數則可以完美解決這個問題:

1
sort -r test.dat -o test.dat

-t與-k選項

對於某些有固定格式的檔案,比如:

a   12
b   32
c   3

如果想以第二列數值大小降序輸出,則需要使用-t和-k引數了。其中-k指定分隔符,-k指定待排序的列。

1
sort -nr -tt -k2 test.bat -o test.bat

本文永久更新連結地址http://www.linuxidc.com/Linux/2016-08/134626.htm


IT145.com E-mail:sddin#qq.com