スポンサーリンク

sortコマンドの-kオプション

sortコマンドは、-k[ソートに使う開始列],[終了列]の形式で、オプションを指定してソートできます。

例えば、下記のin.txtがあったとします。

$ cat in.txt 
1 99 2 4
3 99 1 7
2 78 4 9
5 78 7 1
4 78 1 3

まずは、2列目のみを使ってソートします。
-k2,2のように、開始列と終了列を指定します。

$ sort in.txt -k2,2
2 78 4 9
4 78 1 3
5 78 7 1
1 99 2 4
3 99 1 7

-k2と指定すると、2列目以降の列を使ってソートされます。
2列目のみがソートの対象ではないことに注意が必要です。

$ sort in.txt -k2
4 78 1 3
2 78 4 9
5 78 7 1
3 99 1 7
1 99 2 4

2列目から4列目を使ってソートします。

$ sort in.txt -k2,4
4 78 1 3
2 78 4 9
5 78 7 1
3 99 1 7
1 99 2 4

2列目と4列目を使って、ソートします。
-kオプションを複数使って指定します。

$ sort in.txt -k2,2 -k4,4
5 78 7 1
4 78 1 3
2 78 4 9
1 99 2 4
3 99 1 7

スポンサーリンク