linux sort命令用法

2022-04-21 09:46:16 字數 4662 閱讀 5895

sort命令:用於將文字檔案內容加以排序,sort可針對文字檔案的內容,以行為單位來排序。

命令格式:

sort [-bcdfimmnr][-o《輸出檔案》][-t《分隔字元》][+《起始字段》-《結束字段》][--help][--verison][檔案]

常見引數:

測試:去重:

[root@bqh-118 ~]# cat qc.log 

192.168.43.117

192.168.43.119

192.168.43.118

192.168.43.118

192.168.43.117

192.168.43.117

192.168.43.119

192.168.43.110

[root@bqh-118 ~]# sort -u qc.log

192.168.43.110

192.168.43.117

192.168.43.118

192.168.43.119

注:-u,一般用uniq代替。

去重+降序(倒序)排序:

[root@bqh-118 ~]# sort -ur qc.log 

192.168.43.119

192.168.43.118

192.168.43.117

192.168.43.110

按數字排序:

[root@bqh-118 ~]# sort -n qc.log 

192.168.43.110

192.168.43.117

192.168.43.117

192.168.43.117

192.168.43.118

192.168.43.118

192.168.43.119

192.168.43.119

注:預設為公升序。

按數字倒序排序

[root@bqh-118 ~]# sort -r qc.log 

192.168.43.119

192.168.43.119

192.168.43.118

192.168.43.118

192.168.43.117

192.168.43.117

192.168.43.117

192.168.43.110

指定分隔符排序:按對應的列排序

-k, --key=pos1[pos2]

start a key at pos1 (orign 1), end it at pos2 (default end of line)

1. 預設按整行排序。

2. -t指定分隔符,-k1,分隔符之後的第一列排序

3. -k 1,1  用逗號來分隔字段,表示第乙個字段開始排序到第乙個字段結束

4. -k 1.1,3.3  用點分隔字元。表示第乙個欄位的第乙個字元開始排序到第三個欄位的第三個字元結束。

[root@bqh-118 ~]# cat  qc3.log 

192.168.43.117 a

192.168.43.119 d

192.168.43.118 z

192.168.43.118 n

192.168.43.117 o

192.168.43.117 m

192.168.43.119 k

192.168.43.110 l

[root@bqh-118 ~]# sort -t" " -k2 qc3.log

192.168.43.117 a

192.168.43.119 d

192.168.43.119 k

192.168.43.110 l

192.168.43.117 m

192.168.43.118 n

192.168.43.117 o

192.168.43.118 z

[root@bqh-118 ~]# sort -k2 qc3.log 

192.168.43.117 a

192.168.43.119 d

192.168.43.119 k

192.168.43.110 l

192.168.43.117 m

192.168.43.118 n

192.168.43.117 o

192.168.43.118 z

注:分隔符預設為空格,-t可省略,所有上邊命令可以sort  -k2 qc3.log

[root@bqh-118 ~]# cat qc4.log

192.168.0.1 00:of:af:45:4c:78

192.168.0.71 00:of:1af:45:4c:76

192.168.0.16 00:of:kf:55:s6:25

192.168.0.99 00:lf:9f:r5:ic:27

192.168.0.91 00:of:h6:45:a1:67

192.168.0.65 00:o1:w3:45:49:94

192.168.0.89 00:of:a8:33:v5:90

192.168.0.31 00:90:32:j9:1l:14

192.168.0.19 00:of:76:29:30:df

192.168.0.177 00:of:12:09:p9:41

192.168.0.121 00:yf:a2:u7:4o:rt

192.168.0.253 00:of:sd:40:j3:19

192.168.0.51 00:ii:v5:39:47:oi

192.168.0.46 00:of:a3:81:d3:1y

192.168.0.7 00:oi:w1:iw:h7:b1

192.168.0.189 00:of:s5:00:12:70

192.168.0.155 00:oy:tf:4q:46:8m

[root@bqh-118 ~]# sort -t. -k4,4nr qc4.log #從第4個字段開始排序,到第4個字段結束排序,按數字降序

192.168.0.253 00:of:sd:40:j3:19

192.168.0.189 00:of:s5:00:12:70

192.168.0.177 00:of:12:09:p9:41

192.168.0.155 00:oy:tf:4q:46:8m

192.168.0.121 00:yf:a2:u7:4o:rt

192.168.0.99 00:lf:9f:r5:ic:27

192.168.0.91 00:of:h6:45:a1:67

192.168.0.89 00:of:a8:33:v5:90

192.168.0.71 00:of:1af:45:4c:76

192.168.0.65 00:o1:w3:45:49:94

192.168.0.51 00:ii:v5:39:47:oi

192.168.0.46 00:of:a3:81:d3:1y

192.168.0.31 00:90:32:j9:1l:14

192.168.0.19 00:of:76:29:30:df

192.168.0.16 00:of:kf:55:s6:25

192.168.0.7 00:oi:w1:iw:h7:b1

192.168.0.1 00:of:af:45:4c:78

[root@bqh-118 ~]# sort -t. -k3.1,4.1nr qc4.log #從第三個字段第乙個字元排序,到第四個字段第乙個字元結束,按數字降序

192.168.0.91 00:of:h6:45:a1:67

192.168.0.99 00:lf:9f:r5:ic:27

192.168.0.89 00:of:a8:33:v5:90

192.168.0.7 00:oi:w1:iw:h7:b1

192.168.0.71 00:of:1af:45:4c:76

192.168.0.65 00:o1:w3:45:49:94

192.168.0.51 00:ii:v5:39:47:oi

192.168.0.46 00:of:a3:81:d3:1y

192.168.0.31 00:90:32:j9:1l:14

192.168.0.253 00:of:sd:40:j3:19

192.168.0.1 00:of:af:45:4c:78

192.168.0.121 00:yf:a2:u7:4o:rt

192.168.0.155 00:oy:tf:4q:46:8m

192.168.0.16 00:of:kf:55:s6:25

192.168.0.177 00:of:12:09:p9:41

192.168.0.189 00:of:s5:00:12:70

192.168.0.19 00:of:76:29:30:df

linux sort命令引數及用法

語 法 sort bcd fimmnr o 輸出檔案 t 分隔字元 起始字段 結束字段 help verison 檔案 補充說明 sort可針對文字檔案的內容,以行為單位來排序。參 數 b忽略每行前面開始出的空格字元。c檢查檔案是否已經按照順序排序。d排序時,處理英文本母 數字及空格字元外,忽略其他...

linux sort 命令詳解

sort命令的功能是對檔案中的各行進行排序。sort命令有許多非常實用的選項,這些選項最初是用來對資料庫格式的檔案內容進行各種排序操作的。實際 上,sort命令可以被認為是乙個非常強大的資料管理工具,用來管理內容類似資料庫記錄的檔案。sort命令將逐行對檔案中的內容進行排序,如果兩行的首字元相同,該...

linux sort 命令詳解

sort命令的功能是對檔案中的各行進行排序。sort命令有許多非常實用的選項,這些選項最初是用來對資料庫格式的檔案內容進行各種排序操作的。實際上,sort命令可以被認為是乙個非常強大的資料管理工具,用來管理內容類似資料庫記錄的檔案。sort命令將逐行對檔案中的內容進行排序,如果兩行的首字元相同,該命...