linux命令-sort
阿新 • • 發佈:2020-08-28
目錄
1. 主要選項
對文字行排序。
預設排序規則:
空白在前,字元在後;
大寫在前,小寫在後;
選項 | 說明 |
---|---|
-b | 忽略前導的空白符; |
-f | 忽略大小寫; |
-t | 指定分隔符,"-t:"指定:為分隔符; |
-k | 指定比較的欄位,-k 2,表示比較第二個欄位;-k2.1,2.3表示從第2個欄位的第1個字元,比較到2個欄位的第3個字元; |
-n | 以整數數字比較; |
2. 預設排序
示例文字, 後續命令都使用該文字
$ cat log.txt a40:123 a5:400 c12:60 c5:59 B30:7 b4:9
說明:預設排序,空白在前/字元在後,大寫在前/小寫在後
命令:
$ sort log.txt
c12:60
c5:59
B30:7
a40:123
a5:400
b4:9
3. 忽略前導空白字元
說明:略
命令:
$ sort -b log.txt
B30:7
a40:123
a5:400
b4:9
c12:60
c5:59
4. 忽略大小寫
說明:略
命令:
$ sort -f log.txt
c12:60
c5:59
a40:123
a5:400
B30:7
b4:9
5. 指定分隔符、指定比較的欄位
說明:
"-t:", 指定冒號為分隔符
"-k2", 指定通過比較第二個欄位來排序
"-k2.1,2.2", 指定通過比較第二個欄位的前兩位來排序, 例子見-n選項
下例中,按第二個欄位排序:123,400,59,60,7,9
命令:
$ sort -t: -k2 log.txt
a40:123
a5:400
c5:59
c12:60
B30:7
b4:9
6. 以整數數字大小排序
說明:預設情況下,11排在前面,9排在後面,要按數字大小排序,使用-n選項
命令:第二個欄位以數字大小排序:7,9,59,60,123,400
$ sort -t: -k2 -n log.txt B30:7 b4:9 c5:59 c12:60 a40:123 a5:400 $ $ sort -t: -k2.1,2.2 -n log.txt #按前兩位的整數大小排序,所以400排在59前面。 B30:7 b4:9 a40:123 a5:400 c5:59 c12:60