このファイルがあるとします。
$ cat a.txt
c 1002 4
f 1001 1
d 1003 1
a 1001 3
e 1004 2
b 1001 2
2 列目で並べ替え、次に 3 列目で並べ替えたいと思います。列 2 は数値ですが、列 3 は文字列として扱うことができます。次のコマンドがうまく機能することはわかっています。
$ sort -k2,2n -k3,3 a.txt
f 1001 1
b 1001 2
a 1001 3
c 1002 4
d 1003 1
e 1004 2
ただし、sort -k2n a.txt
機能しない場合でも機能するはずです。
$ sort -k2n a.txt
a 1001 3
b 1001 2
f 1001 1
c 1002 4
d 1003 1
e 1004 2
列 2 で並べ替え、次に列 3 ではなく列 1 で並べ替えるようです。なぜこうなった?それはバグですか?これらの数値sort -k2 a.txt
は固定幅であるため、上記のデータで問題なく動作します。
私のソートバージョンはsort (GNU coreutils) 8.15
cygwinです。