Sort
Gnu sort -k2 和 -k2,2 的區別
less file.txt 01 Joe x 02 Marie y 03 Albert p 04 Dave k
我想按第 2 列排序。但是以下兩個命令都給出相同的輸出。很高興知道使用 -k2 和 -k2,2 之間有什麼區別。
less file.txt | sort -k2
和less file.txt | sort -k2,2
輸出:
03 Albert p 04 Dave k 01 Joe x 02 Marie y
逗號後的規範定義了 a
stop position
(預設為end of the line
)
man 1 sort
:
-k
,--key=KEYDEF
通過鍵排序;KEYDEF 給出位置和類型KEYDEF 表示
F[.C][OPTS][,F[.C][OPTS]]
開始和停止位置,其中 F 是欄位編號,C 是欄位中的字元位置;兩者都是原點 1,停止位置預設為行尾。例如,考慮一個輸入
file.txt
:03 Albert p 04 Albert a
- 如果排序使用
-k2
,Albert a
將放在前面Albert p
- 使用
-k2,2
,排序時會忽略第三個鍵或不同的例子:
03 Albert p 04 Aave k
可以使用以下命令按第二個鍵的第一個字元排序
-k2,2.2
:$ sort -k2,2.2 file.txt 03 Albert p 04 Aave k
- 如果
-k2
使用,Aa
將在之前排序Al