Sort last column numerically descending with **GNU** awk:
awk '{
row[NR]=$0
last[NR]=$NF
}
END{
PROCINFO["sorted_in"]="@val_num_desc";
for(i in last)
print row[i]
}' file
As one line:
awk '{ row[NR]=$0; last[NR]=$NF } END{ PROCINFO["sorted_in"]="@val_num_desc"; for(i in last) print row[i] }' file
Output:
<pre>
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
</pre>
See [8.1.6 Using Predefined Array Scanning Orders with gawk](https://www.gnu.org/software/gawk/manual/html_node/Controlling-Scanning.html) for more sorting algorithms and [8 Powerful Awk Built-in Variables – FS, OFS, RS, ORS, NR, NF, FILENAME, FNR](https://www.thegeekstuff.com/2010/01/8-powerful-awk-built-in-variables-fs-ofs-rs-ors-nr-nf-filename-fnr/)