
마지막 두 번째 열을 정렬하는 방법을 알고 싶습니다. 숫자 앞에 "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-
마지막에서 두 번째 열을 앞쪽에 복제하고( 를 삭제함 days=
) 숫자로 정렬한 다음 첫 번째 열(마지막에서 복제된 열)을 제거합니다.