私はそのようなファイルを持っています:
name: xxx --- time: 5.4 seconds
name: yyy --- time: 3.2 seconds
name: zzz --- time: 6.4 seconds
...
次に、これらの浮動小数点数でこのファイルを並べ替えて、次のように新しいファイルを生成します。
name: yyy --- time: 3.2 seconds
name: xxx --- time: 5.4 seconds
name: zzz --- time: 6.4 seconds
...
私はコマンドを試してみましたawk '{print $5}' myfile | sort -g
しかし、これは浮動小数点数のみを表示します。
GNU sort
または互換性がある)を使用している場合は、その-g
スイッチを使用して一般的な数値ソートを実行できます。
$ sort -g -k5,5 file
name: yyy --- time: 3.2 seconds
name: xxx --- time: 5.4 seconds
name: zzz --- time: 6.4 seconds
-k5,5
は、5列目だけで並べ替えを実行するようにsortに指示します。
info sort
ページの詳細を覚えておいてください。
'--general-numeric-sort' '--sort=general-numeric' Sort numerically, converting a prefix of each line to a long double-precision floating point number. *Note Floating point::. Do not report overflow, underflow, or conversion errors. Use the following collating sequence: * Lines that do not start with numbers (all considered to be equal). * NaNs ("Not a Number" values, in IEEE floating point arithmetic) in a consistent but machine-dependent order. * Minus infinity. * Finite numbers in ascending numeric order (with -0 and +0 equal). * Plus infinity. Use this option only if there is no alternative; it is much slower than '--numeric-sort' ('-n') and it can lose information when converting to floating point.