pirxon
@pirxon

Как сравнить даты из файла с текущей датой?

Задача: Надо построчно загнать даты из файла в переменную, преобразовать дату в секунды и сравнить с текущей датой в секундах. Если дата из файла меньше или равна текущей дате тогда do somesing..

файл с датами такого формата
$ cat date_out
2017-06-18 11:02:00
2017-06-17 11:05:00
2017-04-05 17:39:00
2017-03-23 10:46:00
2017-03-21 11:46:00
2017-03-21 11:57:00
2017-03-23 10:49:00


текущую дату преобразовываю в секунды
curr_d=`date +%s`

cat date_out | while read start_d
do
    start_d=`date -d $start_d +%s`
    if ['$start_d' -le '$curr_d']
 then do something else

done

err
date: лишний операнд «+%s»
  • Вопрос задан
  • 1962 просмотра
Пригласить эксперта
Ответы на вопрос 1
pirxon
@pirxon Автор вопроса
Как обычно методом тыка подобрал кавычки и скобки , заработало. вот может кому-то пригодится.

#!/bin/bash
curr_d=`date +%s`
echo "Текущая дата в сек. $curr_d"

cat date_out | while read start_d
do
        start_d=`date -d "$start_d" +%s`
        if (("$start_d" <= "$curr_d"))  
        then
                echo "$start_d меньше либо равна текущей"
        else
                echo "$start_d больше текущей" 
        fi
done
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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