Настройка команды «дата» для вычитания трех часов

Как упоминалось в комментариях, вам не нужны echoи catдо grepдля строки, и вам нужны две скобки для этого типа сравнения:

substr=$(grep 'Version' /home/user/configrc | cut -d '_' -f4-5)
xfile="/home/user/data_1806_01.tar.gz"

if [[ "$xfile" == *"$substr"* ]]; then
  echo "Match"
else
  echo "No Match"
fi
0
16.05.2020, 15:15
1 ответ

Если вы используете dateиз coreutils, вы можете сделать это:

D=`date -u '+%Y%m%d' -d '-3 hours'`
H=`date -u '+%H' -d '-3 hours'`
RUNTIME="${D}_${H}00"

Опция -dпозволяет указать дату, отличную от текущей, она поддерживает добавление/вычитание часов, дней и т. д.

Кроме того, вам нужны Dи H, кроме как для создания RUNTIME? Если нет, вы можете просто сделать:

RUNTIME=`date -u '+%Y%m%d_%H00' -d '-3 hours'`
2
28.04.2021, 23:16

Теги

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