sort コマンドで複数のキーによるソート方法のメモ。
sort コマンドでは、カラム毎に文字列/数値、昇順/降順を組み合わせてソートすることができます。
以下は sort -k 2n -k 3nr -k 1 の実行例ですが、次の条件でソートしています。
-k 2n: 第2カラムを数値の昇順
-k 3nr: 第3カラムを数値の降順
-k 1: 第1カラムを文字列の昇順
sort コマンドでは、カラム毎に文字列/数値、昇順/降順を組み合わせてソートすることができます。
以下は sort -k 2n -k 3nr -k 1 の実行例ですが、次の条件でソートしています。
-k 2n: 第2カラムを数値の昇順
-k 3nr: 第3カラムを数値の降順
-k 1: 第1カラムを文字列の昇順
$ cat test.txt abc1 1 100 abc2 1 50 abc3 1 100 abc4 1 50 def1 2 50 def2 2 25 def3 2 50 def4 2 25 ghi1 5 20 ghi2 5 10 ghi3 5 20 ghi4 5 10 jkl1 10 10 jkl2 10 5 jkl3 10 10 jkl4 10 5 $ cat test2.txt | sort -k 2n -k 3nr -k 1 abc1 1 100 abc3 1 100 abc2 1 50 abc4 1 50 def1 2 50 def3 2 50 def2 2 25 def4 2 25 ghi1 5 20 ghi3 5 20 ghi2 5 10 ghi4 5 10 jkl1 10 10 jkl3 10 10 jkl2 10 5 jkl4 10 5