Не уверен, если это дубликат. Если это любезно, укажите мне на ответ.
$date -d '2018022210' +'%Y%m%d%H'
Выдает мне сообщение о недействительности (date: invalid date 2018022210).Как правильно поступить?
date: invalid date 2018022210
Благодаря ответу @charles.Я также смог разобрать немного по-другому, как упомянул @charles.
date -d "$(echo '2018022210' | awk '{print substr($1,1,8),substr($1, 9,10)}')" +'%Y%m%d %H'
Если вы хотите преобразовать формат в формат GNU, который можно проанализировать, добавьте T до того, как будет достаточно часа:
T
in='2018022210' out="${in:0:8}T${in:8}" date --utc -d "$out"
... правильно выдает:
Thu Feb 22 03:00:00 UTC 2018