В случае стандартного формата date
:
date1="Tue Sep 25 11:32:09 EDT 2018"
now=$(date +%s)
cond=$(( $(date -d "$date1" +%s) + 7*24*60*60 ))
if [ $now -ge $cond ]
then
echo True
fi
В случае нового нераспознанного формата в вопросе (date1=Wed 01 Aug 10:03:52 EDT 2018
) вы можете поменять дату и месяц на:
date1="Wed 01 Aug 10:03:52 EDT 2018"
date1=$(echo $date1 | sed -E 's/(Sun|Mon|Tue|Wed|Thu|Fri|Sat).([0-9]{2}).(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)/\1 \3 \2/')
Остальное такое же
В случае другого произвольного формата вам придется распутать его с помощью регулярного выражения и преобразовать в что-то, что date
сможет распознать.
+%s
форматирует вывод в секундах.
-d DATE
использует указанную строку даты вместо текущего времени.
sed
соответствует регулярному выражению и заменяет его