Как упоминалось в комментариях, вам не нужны 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
Если вы используете 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'`