Вы хотели бы просто отсортировать по последнему столбцу, но sort
не позволяет вам сделать это легко. Поэтому перепишите данные в столбце, который будет отсортирован в начале каждой строки:
Игнорирование заголовка на данный момент (хотя это часто будет работать само по себе):
awk '{print $NF, $0 | "sort -nr" }' input | cut -d ' ' -f 2-
Если вы нужно урезать порядок (например, он смешивается в сортировке), вы можете делать такие вещи, как:
< input awk 'NR==1; NR>1 {print $NF, $0 | "sh -c \"sort -nr | cut -d \\\ -f 2-\"" }'
или
awk 'NR==1{ print " ", $0} NR>1 {print $NF, $0 | "sort -nr" }' OFS=\; input | cut -d \; -f 2-