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-

Он дублирует предпоследний столбец в начале (отбрасывая days=), сортирует по числам, а затем удаляет первый столбец (дублированный предпоследний столбец).

Связанный контент