Sort
排序手冊頁的 KEYDEF
我已閱讀嘗試對兩個欄位進行排序,然後是第二個欄位。我仍然很困惑。
在
man sort
頁面中:KEYDEF is F[.C][OPTS][,F[.C][OPTS]] for start and stop position
為什麼有兩個
OPTS
?這是否意味著你可以
OPTS
在任何地方寫作?還是兩者OPTS
影響不同的領域?但是,鍵(例如
-k3,5
)不就是一個整體嗎?如果兩者
OPTS
相反會發生什麼?如:sort -t " " -k3n,5nr filename
另一個問題是
-k3n,5nr
包含兩個空格,shell 如何將其轉換為數字?當我們想比較多個欄位時,我們應該使用multi
-k
(例如-k3
-k4
-k5
)嗎?-k3n,5n
錯了嗎?
該
sort
規範更詳細地描述了這一點:修飾符的
'b'
行為類似於**-b**選項,但僅適用於它所附加的field_start或*field_end 。*其他修飾符的行為類似於相應的選項,但僅適用於它們所附加的鍵欄位;如果使用field_start、field_end或兩者都指定,它們將具有此效果。因此,您可以在任一位置添加選項,它們適用於整個鍵。它們是累積的,我認為如果發生衝突,最後一個會獲勝。
如果要比較多個數字欄位,應將它們指定為單獨的鍵;GNU
sort
手冊說對於大多數應用程序,將跨越多個欄位的鍵視為數字不會達到您的預期。