Linux 정렬 두 번째 열

Linux 정렬 두 번째 열

두 번째 열을 마지막 열에서 정렬하는 방법을 알고 싶습니다. 숫자 앞에는 "days="라는 단어가 붙습니다. awk '{print $(NF-1)}'을 사용하여 열을 가져올 수 있지만 순서가 잘못되었습니다.

    457000      (test2) && (SGD||RMB||HKD||YEN)    days=5000    71
    37622 (this is || test1)&&(SGD||HKD||RMB) days=630 40010 
    43944 (this is)&&(SGD||HKD) days=80 102732 
    79378 (this is||test2)&&(HKD||RMB)   days=800 205425 

내가 찾는 결과는

    43944 (this is)&&(SGD||HKD) days=80 102732 
    37622 (this is || test1)&&(SGD||HKD||RMB) days=630 40010 
    79378 (this is||test2)&&(HKD||RMB) days=800 205425
    457000      (test2) && (SGD||RMB||HKD||YEN)    days=5000    71

답변1

약간 해키지만 작동해야 합니다.

awk '{print substr($(NF-1), 6), $0}' file | sort -g | cut -d' ' -f2-

이전 두 번째 열(removed days=)을 복사하고 숫자순으로 정렬한 다음 첫 번째 열(마지막에서 두 번째 열 복사됨)을 삭제합니다.

관련 정보