按鍵排序
假設我們有這個檔案:
test>>cat Hogwarts
Harry Malfoy Rowena Helga
Gryffindor Slytherin Ravenclaw Hufflepuff
Hermione Goyle Lockhart Tonks
Ron Snape Olivander Newt
Ron Goyle Flitwick Sprout
要使用列作為鍵對此檔案進行排序,請使用 k 選項:
test>>sort -k 2 Hogwarts
這將使用第 2 列作為鍵對檔案進行排序:
Ron Goyle Flitwick Sprout
Hermione Goyle Lockhart Tonks
Harry Malfoy Rowena Helga
Gryffindor Slytherin Ravenclaw Hufflepuff
Ron Snape Olivander Newt
現在,如果我們必須使用輔助鍵和主鍵對檔案進行排序:
sort -k 2,2 -k 1,1 Hogwarts
這將首先將列 2 作為主鍵排序,然後將列 1 作為輔助鍵對檔案進行排序:
Hermione Goyle Lockhart Tonks
Ron Goyle Flitwick Sprout
Harry Malfoy Rowena Helga
Gryffindor Slytherin Ravenclaw Hufflepuff
Ron Snape Olivander Newt
如果我們需要對包含多個鍵的檔案進行排序,那麼對於每個 -k 選項,我們需要指定排序結束的位置。所以 -k1,1 表示在第一列開始排序,在第一列結束排序。
-t 選項
在前面的示例中,該檔案具有預設的分隔符 - 選項卡。如果對具有非預設分隔符的檔案進行排序,我們需要 -t 選項來指定分隔符。假設我們有如下檔案:
test>>cat file
5.|Gryffindor
4.|Hogwarts
2.|Harry
3.|Dumbledore
1.|The sorting hat
要按照第二列對此檔案進行排序,請使用:
test>>sort -t "|" -k 2 file
這將按如下方式對檔案進行排序:
3.|Dumbledore
5.|Gryffindor
2.|Harry
4.|Hogwarts
1.|The sorting hat