複数の列をソートした後に2つの列を切り取る方法

複数の列をソートした後に2つの列を切り取る方法

ファイルがあります

6 0 stephen
5 1 john
4 2 margaret
2 3 jack

使ってきたcat age_names | sort -n -r age_names.txt

名前だけを表示し、年齢順に名前を表示したいです。

答え1

努力する sort -n -r age_names.txt | cut -d' ' -f3

ソートが正しい(最初の列が年齢であると仮定)。 cutコマンドは、区切り文字をスペース( '')で指定し、3番目の列(名前を含むように見える)を除くすべての列を削除します。

答え2

年齢が最初の列にあり、次のコマンドを使用してテストしたことを考慮すると、正常に機能します。

sort -k1 -nr file.txt | awk '{print $NF}'

関連情報