ソートされた列のソート

ソートされた列のソート

出力は次のようなプログラムがあります

 #         Status   VAL1   VAL2   Description
 1      some text    2.5    4.4   Some long other text
 5    some text 2   14.5    2.0   Some long other text 2
12    some text 3  222.6   24.4   Some long other text 3
19    some text 4    3.4    1.5   Some long other text 4
21    some text 5   55.4   10.6   Some long other text 5
32    some text 6    2.9    9.4   Some long other text 6

VAL2列に沿ってソートしたいです。試してみましたが、sort -k 4「状態」列に空白があってsort混乱しました。

この問題を解決する方法はありますか?フィールド番号の代わりに文字番号を渡すことはできますか?

ベストアンサー1

列オフセットに基づいてソート:

sort -k1.27g

上記のフラグ(通常の数値ソート用)はg標準ではないため、ソート実装はこれをサポートしない可能性があります。

この特定のデータサンプルを使用すると、次のようになります。

LC_ALL=C sort -k1.27

つまり、英数字ソートを実行し、Cロケールを使用してソート時に先行スペースを無視しないようにします。たとえば、並べ替えが続くと、並べ[ ]4.4替えが前に来ます。24.442

おすすめ記事