
Я хотел бы знать, как сортировать предпоследний столбец? В нем есть слово "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=
), сортирует по числам, а затем удаляет первый столбец (дублированный предпоследний столбец).