[unix] 마지막 열을 기준으로 숫자를 정렬하는 방법은 무엇입니까?

이 입력이 있습니다.

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

그래서 마지막 열을 기준으로 줄을 정렬해야합니다.

한 줄에 몇 개의 열이 있는지 모르겠습니다.

나는 그것을 알아낼 수 없다. 나는 “펄 파워”가 없다. 나는 단지 sed, awk, cut 등으로 ~ 평균 스크립팅 능력을 가지고 있습니다.

누군가 그것을하는 방법을 알고 있습니까?



답변

다음 명령 줄은 awkfile.txt의 각 줄의 마지막 필드를 앞에 붙이고 숫자를 반대로 정렬 한 다음 cut추가 된 필드를 제거하는 데 사용 합니다.

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


답변