Диапазон дат с минутами

Usarfile:

$ file README.md
README.md: ASCII text, with CRLF line terminators

$ dos2unix README.md
dos2unix: converting file README.md to Unix format...

$ file README.md
README.md: ASCII text
0
22.05.2019, 16:45
1 ответ

Вот как бы я это сделал:

$ date -d '2010-01-01 00:00:00' +%s
1262300400
$ date -d '2010-02-01 00:00:00' +%s
1264978800

$ for timestamp in {1262300400..1264978800..600}; do date -d @"$timestamp" '+%Y %m %d %H %M %S'; done | grep -Ev '[15]0 00$'

Что grep -Ev '[15]0 00$'делает:

  • grepсам выбирает строку (s ), соответствующую набору условий, описанных ее параметрами
  • -v:выберите строки, которые НЕ СООТВЕТСТВУЮТ параметрам
  • -E:заявляет, что шаблон, которому мы пытаемся сопоставить, является «расширенным регулярным выражением» (на самом деле здесь это НЕ требуется -моя ошибка)
  • [15]0 00$:регулярное выражение, говорящее: «выберите строки, оканчивающиеся на «1 или 5», затем «ноль», затем «пробел», затем «двойной ноль». Это соответствует строкам «10» и «50», которые удаляются благодаря -v, как описано выше.
0
28.04.2021, 23:33

Теги

Похожие вопросы