複数の列を数値で並べ替えるときに、どうしていつもsort
がどのように機能するか疑問に思った。たとえば:複数の列を数値で並べ替える
1 2
2 10
2 3
をのでsort -g
を行います。
echo -e " 2 3 \n 1 2 \n 2 10" | sort -n
を生成します。私も数値的に第二のカラムを注文したい場合は、私が思いついた唯一の解決策は以下のとおりです。
1 2
2 3
2 10
誰かがこの動作を説明してくださいしている場合言うことができる:所望の出力を生成し
echo -e " 2 3 \n 1 2 \n 2 10" | sort -k1n -k2n
より単純なソリューションが存在しますか?
"-g'各行の**プレフィックスを長い倍精度浮動小数点数に変換する数値的にソートします。 – melpomene