參 數:
-b 忽略每行前面開始出的空格字元。
-c 檢查檔案是否已經按照順序排序。
-f 排序時,忽略大小寫字母。
-m 將前面3個字母依照月份的縮寫進行排序。
-n 依照數值的大小排序。
-o《輸出檔案》 將排序後的結果存入指定的檔案。
-r 以相反的順序來排序。
-t《分隔字元》 指定排序時所用的字段分隔字元。
-k 選擇以哪個區間進行排序。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
下面通過幾個例子來講述sort的使用。
(1)sort將檔案的每一行作為乙個單位,相互比較,比較原則是從首字元向後,依次按ascii碼值進行比較,最後將他們按公升序輸出。
使用者可以儲存排序後的檔案內容,或把排序後的檔案內容輸出至印表機。下例中使用者把排序後的檔案內容儲存到名為result的檔案中。
$ sort seq.txt > result
(2)sort的-u選項
它的作用很簡單,就是在輸出行中去除重複行。
pear由於重複被-u選項無情的刪除了。
(3)sort的-r選項
sort預設的排序方式是公升序,如果想改成降序,就加個-r就搞定了。
[rocrocket@rocrocket programming]$ cat number.txt13
524[rocrocket@rocrocket programming]$ sort number.txt12
345[rocrocket@rocrocket programming]$ sort -r number.txt54
321(5)sort的-o選項
由於sort預設是把結果輸出到標準輸出,所以需要用重定向才能將結果寫入檔案,形如sort filename > newfile。
但是,如果你想把排序結果輸出到原檔案中,用重定向可就不行了。
[rocrocket@rocrocket programming]$ sort -r number.txt > number.txt
[rocrocket@rocrocket programming]$ cat number.txt
[rocrocket@rocrocket programming]$
看,竟然將number清空了。
就在這個時候,-o選項出現了,它成功的解決了這個問題,讓你放心的將結果寫入原檔案。這或許也是-o比重定向的唯一優勢所在。
[rocrocket@rocrocket programming]$ cat number.txt13
524[rocrocket@rocrocket programming]$ sort -r number.txt -o number.txt
[rocrocket@rocrocket programming]$ cat number.txt54
321(6) sort的-n選項
你有沒有遇到過10比2小的情況。我反正遇到過。出現這種情況是由於排序程式將這些數字按字元來排序了,排序程式會先比較1和2,顯然1小,所以就將10放在2前面嘍。這也是sort的一貫作風。
我們如果想改變這種現狀,就要使用-n選項,來告訴sort,「要以數值來排序」!
[rocrocket@rocrocket programming]$ cat number.txt110
191125
[rocrocket@rocrocket programming]$ sort number.txt110
111925
[rocrocket@rocrocket programming]$ sort -n number.txt12
5101119
(7) sort的-t選項和-k選項
如果有乙個檔案的內容是這樣:
這個檔案有三列,列與列之間用冒號隔開了,第一列表示水果型別,第二列表示水果數量,第三列表示水果**。那麼我想以水果數量來排序,也就是以第二列來排序,如何利用sort實現?幸好,sort提供了-t選項,後面可以設定間隔符。指定了間隔符之後,就可以用-k來指定列數了。
(8) 其他的sort常用選項
-f會將小寫字母都轉換為大寫字母來進行比較,亦即忽略大小寫
-c會檢查檔案是否已排好序,如果亂序,則輸出第乙個亂序的行的相關資訊,最後返回1
-c會檢查檔案是否已排好序,如果亂序,不輸出內容,僅返回1
-m會以月份來排序,比如jan小於feb等等
-b會忽略每一行前面的所有空白部分,從第乙個可見字元開始比較。
參 數:
-b 忽略每行前面開始出的空格字元。
-c 檢查檔案是否已經按照順序排序。
-f 排序時,忽略大小寫字母。
-m 將前面3個字母依照月份的縮寫進行排序。
-n 依照數值的大小排序。
-o《輸出檔案》 將排序後的結果存入指定的檔案。
-r 以相反的順序來排序。
-t《分隔字元》 指定排序時所用的字段分隔字元。
-k 選擇以哪個區間進行排序。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
下面通過幾個例子來講述sort的使用。
(1)sort將檔案的每一行作為乙個單位,相互比較,比較原則是從首字元向後,依次按ascii碼值進行比較,最後將他們按公升序輸出。
使用者可以儲存排序後的檔案內容,或把排序後的檔案內容輸出至印表機。下例中使用者把排序後的檔案內容儲存到名為result的檔案中。
$ sort seq.txt > result
(2)sort的-u選項
它的作用很簡單,就是在輸出行中去除重複行。
pear由於重複被-u選項無情的刪除了。
(3)sort的-r選項
sort預設的排序方式是公升序,如果想改成降序,就加個-r就搞定了。
[rocrocket@rocrocket programming]$ cat number.txt13
524[rocrocket@rocrocket programming]$ sort number.txt12
345[rocrocket@rocrocket programming]$ sort -r number.txt54
321(5)sort的-o選項
由於sort預設是把結果輸出到標準輸出,所以需要用重定向才能將結果寫入檔案,形如sort filename > newfile。
但是,如果你想把排序結果輸出到原檔案中,用重定向可就不行了。
[rocrocket@rocrocket programming]$ sort -r number.txt > number.txt
[rocrocket@rocrocket programming]$ cat number.txt
[rocrocket@rocrocket programming]$
看,竟然將number清空了。
就在這個時候,-o選項出現了,它成功的解決了這個問題,讓你放心的將結果寫入原檔案。這或許也是-o比重定向的唯一優勢所在。
[rocrocket@rocrocket programming]$ cat number.txt13
524[rocrocket@rocrocket programming]$ sort -r number.txt -o number.txt
[rocrocket@rocrocket programming]$ cat number.txt54
321(6) sort的-n選項
你有沒有遇到過10比2小的情況。我反正遇到過。出現這種情況是由於排序程式將這些數字按字元來排序了,排序程式會先比較1和2,顯然1小,所以就將10放在2前面嘍。這也是sort的一貫作風。
我們如果想改變這種現狀,就要使用-n選項,來告訴sort,「要以數值來排序」!
[rocrocket@rocrocket programming]$ cat number.txt110
191125
[rocrocket@rocrocket programming]$ sort number.txt110
111925
[rocrocket@rocrocket programming]$ sort -n number.txt12
5101119
(7) sort的-t選項和-k選項
如果有乙個檔案的內容是這樣:
這個檔案有三列,列與列之間用冒號隔開了,第一列表示水果型別,第二列表示水果數量,第三列表示水果**。那麼我想以水果數量來排序,也就是以第二列來排序,如何利用sort實現?幸好,sort提供了-t選項,後面可以設定間隔符。指定了間隔符之後,就可以用-k來指定列數了。
(8) 其他的sort常用選項
-f會將小寫字母都轉換為大寫字母來進行比較,亦即忽略大小寫
-c會檢查檔案是否已排好序,如果亂序,則輸出第乙個亂序的行的相關資訊,最後返回1
-c會檢查檔案是否已排好序,如果亂序,不輸出內容,僅返回1
-m會以月份來排序,比如jan小於feb等等
-b會忽略每一行前面的所有空白部分,從第乙個可見字元開始比較。
Linux的sort命令用法
sort預設是按字元排序例如 1 2 11 4 排序結果是 1 11 2 4 sort按照數字大小進行排序 新增 n sort將字元按照從大到小 相反的 的順序排列 r sort將排序結果輸入到當前排序的檔案 sort n test.txt o test.txt sort指定列進行排序 sort k...
Linux命令學習之 sort命令
linux命令學習之 sort命令 sort 命令對 file 引數指定的檔案中的行排序,並將結果寫到標準輸出。如果 file 引數指定多個檔案,那麼 sort 命令將這些檔案連線起來,並當作乙個檔案進行排序。格式 sort fbmnrtuk file or stdin 選項與引數 f 忽略大小寫的...
Linux常用統計命令之sort
sort是在linux裡非常常用的乙個統計命令 1 sort的工作原理 sort將檔案的每一行作為乙個單位,相互比較,比較原則是從首字元向後,依次按ascii碼值進行比較,最後將他們按公升序輸出。其語法及常用引數格式 sort bcfmnrtk 原始檔 o 輸出檔案 參 數 b 忽略每行前面開始出的...