1. 程式人生 > 其它 >sort 排序命令案例

sort 排序命令案例

sort 排序命令-k引數小技巧

例子擷取:
192.168.3.1 00:0F:AF:81:19:1F
192.168.3.2 00:0F:AF:85:6C:25
192.168.3.3 00:0F:AF:85:70:42
192.168.2.20 00:0F:AF:85:55:DE
192.168.2.21 00:0F:AF:85:6C:09
192.168.2.22 00:0F:AF:85:5C:41
192.168.0.151 00:0F:AF:85:6C:F6
192.168.0.152 00:0F:AF:83:1F:65
192.168.0.153 00:0F:AF:85:70:03
192.168.1.10 00:30:15:A2:3B:B6
192.168.1.11 00:30:15:A3:23:B7
192.168.1.12 00:30:15:A2:3A:A1

1.sort -n -t. -k3,3 -k4.1,4.3 arp.txt
-n 按數字排
-t.按點號分隔域
-k3,3 從第三個欄位開始排序,到第三個欄位結束。
-k4.1,4.3 從第四個欄位的第一個字元開始排序,到第四個欄位的第三個字元結束。

2.sort -n -t. -k3,3 -k4,4.3 arp.txt
-k4,4.3 預設是從第4列的第一個字元開始排,到第四個欄位的第三個字元結束。

3.sort -n -t. -k3,3 -k4,4 arp.txt
-k4,4 預設是從第4列的第一個字元開始排,到第四個欄位結尾,結果沒錯,排序時間會長。

4.sort -n -t. -k3,3 -k4 arp.txt
把第4個字元後面所有的都排,結果也是對的,因為只有四個欄位,慢.


sort -n -t . -k1 -k2 -k3.3 -k4.4 arp.txt
這個結果也對,很怪異了
________________________________________________________________________________
以下為參考
.是第幾個字元。
,號前面預設是第一個字元,後面預設是到結尾。

sort -n -t. -k3,3 -k4 arp.txt
sort -n -t. -k3,3 -k4.1,4.3 arp.txt
sort -n -t. -k3,3 -k4,4.3 arp.txt
我搞清楚了,那天理解的沒錯,.和,不是一回事,,號後面表示到第幾個欄位結束,關鍵在k3這裡,不加,3就一直排到結尾,所以出錯,標準是-k3,3

sort -n -t. -k3,3 -k4.1,4.3 arp.txt 是最標準的。
sort -n -t. -k3,3 -k4,4.3 arp.txt這個是把,前的省略,預設為第一個字元。
sort -n -t. -k3,3 -k4,4 arp.txt 這個是把,後面的未字元省略,結果沒錯,但多比較了一些,應該慢一些。
sort -n -t. -k3,3 -k4 arp.txt
這個是把第4個字元後面所有的都排,結果也是對的,因為只有四個欄位,慢。 來自oldboy早期教學

本文來自部落格園老男孩的部落格,作者:老男孩老師,轉載請務必註明原文連結:https://www.cnblogs.com/oldboy666/p/15725437.html