Как я могу отсортировать файл с определенной строкой в ​​качестве ключа сортировки в bash? - PullRequest
0 голосов
/ 07 декабря 2018

Итак, у меня есть events.csv файл с:

  • Дата в качестве ключа и формат: DDMMYYHHMM
  • Имясобытие
  • Дополнительно (необязательно)

И я хочу отсортировать их по текущей дате.

Cat the events

Следующеешаг для меня был:

cur_date=$(date +%d%m%y | sed s/0/\ /)
cat "events.csv" | sort -rk $cur_date

Чтобы избавиться от ведущих 0.

Вывод ошибочно отсортирован.Должен ли я сначала отсортировать год, затем месяц, затем день?

Есть идеи?

1 Ответ

0 голосов
/ 07 декабря 2018

Когда вы говорите сортировать по текущей дате, я предполагаю, что вы имеете в виду, что вы хотите извлечь все записи за сегодня и отсортировать их в хронологическом порядке.Если это так, то для вас должно работать следующее

grep $(date +%d%m%Y) _file_ | sort

. Он извлечет все записи из файла , которые имеют сегодняшнюю дату.Поскольку все эти записи имеют одну и ту же дату, сортировка позаботится о автоматической сортировке по временной части.

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...