Unixのソートコマンドと数値ソート

Unixのソートコマンドと数値ソート

ファイル1があります。

"$lvl=57"
"$lvl=20"
"$lvl=48"
"$lvl=17"
"$lvl=58"

ファイル2私が欲しいもの:

"$lvl=17"
"$lvl=20"
"$lvl=48"
"$lvl=57"
"$lvl=58"

デフォルトでは、file1を数値でソートします。

答え1

私は(GNUの)いくつかの実装で/オプションが好きです-V。文字列と数字が混在する多くの状況で非常にうまく機能します。--version-sortsortsort

sort -V

私はこのオプションを頻繁に使用しています...

同じ方向のバージョン順序付けには(GNUで)のいくつかのls実装を使用してください。ls -vlsls

答え2

sort -n次のセクションを並べ替えるように指示する必要があります=

sort -t = -k 2n

答え3

私はあなたが実行したsort -hときに動作することがわかりました。彼らはそれを呼ぶ--human-numberic-sort

sort -h file1 > file2

答え4

ソートの使用:

sort -n file1 > file2

-n, --numeric-sort
文字列値に基づいて比較

 sort -g file1 > file 2

-g, -- 一般数値の並べ替え

関連情報