これが私のlist.txtです。
a 100 b 300 A 50 e 75 1 10
以下のコマンドを実行しました:
sort -k2,2 list.txt
これは私が得たものです:
1 10 a 100 b 300 A 50 e 75
2列目のみを並べ替えようとしています。ウィキペディアによると、上記のコマンドで次の結果が得られるはずです。
a 10 b 50 A 75 e 100 1 300
何か不足していますか?
https://en.wikipedia.org/wiki/Sort_(Unix)
デフォルトでは、sortは、現在のロケールの 照合シーケンス に基づいて 辞書順 で文字ごとにソートします。したがって、あなたの例では、100は10の後、50の前にソートされます。なぜなら、1は常に5の前にソートされるからです。
sort
100
10
50
1
5
数値順に並べ替えるには、n指定子を追加する必要があります
n
-n, --numeric-sort compare according to string numerical value
例えば.
$ sort -k2,2n list.txt 1 10 A 50 e 75 a 100 b 300