Упорядочить файл по столбцу, где столбец – это дата.

У меня есть файл в следующем формате

      222 aaaaa 2021-12-24
333fd bbb 2021-09-1
444 cc 2022-01-16
555 zzz 2021-08-21
6666 www 2021-09-5
777 yyy 2021-03-14
888 xxx 2021-11-27
999 ffffff 2021-12-4

Я пытаюсь упорядочить файл на основе столбца даты.

Я попытался отсортировать:

  • с опцией-t "-" -k2разделитель, но не работает. (пробовал заказывать хотя бы по месяцам)
  • с опцией-k3.4(можно заказать до 4-го числа 2021/2022 года), трубопроводы с| sort -n -k3.5но не работает

1 ответ

ГГГГ-ММ-ДД можно сортировать в алфавитном порядке, поэтому единственное, что вам нужно, — это добавить ведущие нули к дням.

      sed -E 's/-(.)$/-0\1/' file | sort -k3

Можете добавить| sed -E 's/-0(.)$/-\1/'чтобы вернуть исходный формат (но зачем?).

Другие вопросы по тегам