按每行最后一个单词的数值对文本文件进行排序

Ten*_*nko 4 bash

我有一个包含以下文本的 file.txt:

hello my name is John:  4  
hello my name is Loi:  23 
hello my name is Joi: 45
hello my name is Jordan: 476 
hello my name is Manu: 98
Run Code Online (Sandbox Code Playgroud)

我想命令这个文件稍后回显,我希望它是这样的:


hello my name is Jordan: 476 
hello my name is Manu: 98
hello my name is Joi: 45
hello my name is Loi:  23 
hello my name is John:  4  
Run Code Online (Sandbox Code Playgroud)

我该怎么做?我知道 ita 可以用 sort -n 来完成,但我需要相反的方式,问题是它有文本...... 谢谢(文件的编号位于不同的行)

gle*_*man 6

您可以在此处使用“装饰-排序-取消装饰”模式:

awk '{print $NF "\t" $0}' file.txt | sort -nr -k1,1 | cut -f 2-
Run Code Online (Sandbox Code Playgroud)