1
我試圖排序第一列中的文件進行排序,不改變第二列的排列順序,如果第一列具有相同的值,何時以及爲什麼需要一個「S」標誌被列
$ cat test
1 4
1 3
1 2
1 1
3 3
2 1
2 2
2 3
願望輸出:
1 4
1 3
1 2
1 1
2 1
2 2
2 3
3 3
只有當我使用sort test -s -k1,1
這項工作。
下面的所有更改第二列的順序:
sort test
sort test -k1
sort test -k1,1
sort test -s -k1
1 1
1 2
1 3
1 4
2 1
2 2
2 3
3 3
爲什麼我需要與-k1,1
一起使用-s
?
那麼-k1,1和-k1的區別是什麼? – once
@once'-k'允許你定義'sort'所使用的鍵的位置,即'-k start,end'。 '-k1,1'表示「僅使用鍵作爲第一個字段的鍵」,-k1'表示「使用鍵作爲鍵從第一個字段到行尾的子行」,因爲默認停止位置是隊伍的盡頭。這就是爲什麼在你的例子中你需要'-k1,1'而不是'-k1'。我建議你閱讀'sort'手冊:http://man7.org/linux/man-pages/man1/sort.1.html –
我閱讀兩個標誌的手冊,只是不能清楚爲什麼事情不起作用當使用-k1,1「使用只作爲鍵的第一個字段進行排序」時,仍然需要爲這種情況添加-s穩定標誌 – once