Linux classifica a penúltima coluna

Linux classifica a penúltima coluna

Gostaria de saber como ordenar a penúltima coluna? Tem a palavra “dias =” na frente do número. Consigo obter a coluna com awk '{print $(NF-1)}', mas a classificação está errada.

    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 

O resultado que procuro é

    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

Responder1

Um pouco hacky, mas deve funcionar:

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

Ele duplica a penúltima coluna na frente (eliminando o days=), classifica numericamente e, em seguida, remove a primeira coluna (a penúltima duplicada).

informação relacionada