最後の列に基づいて数字をソートする方法は?

最後の列に基づいて数字をソートする方法は?

次の入力があります。

sdkxyosl 1
safkls 2
asdf--asdfasxy_asd 5
dkd8k  jasd 29
sdi44sw 43
asasd afsdfs 10
rklyasd 4

次の出力が必要です。

sdi44sw 43
dkd8k  jasd 29
asasd afsdfs 10
asdf--asdfasxy_asd 5
rklyasd 4
safkls 2
sdkxyosl 1

したがって、最後の列に基づいて行を並べ替える必要があります。

1行にいくつの列があるかわかりません。

どうすればいいのか理解できません。私は「パール技術」を持っていません。私はsed、awk、cutなどの平均的なスクリプト技術のみを持っています。

これを行う方法を知っている人はいますか?

ベストアンサー1

次のコマンドラインは、awkfile.txtの各行の最後のフィールドを追加し、逆数のソートを実行してから、追加されたフィールドを削除するcutために使用されます。

awk '{print $NF,$0}' file.txt | sort -nr | cut -f2- -d' '

おすすめ記事