LINUX.ORG.RU
ФорумAdmin

bash - сравнение текущей даты с датой создания файла

 


0

2

У меня в скрипте определяется имя самого свежего файла в каталоге:

ls -atl | grep "^-" | head -1

Вывод команды такой например:

-rw----r-- 1 root root 350785 янв  9 20:01 mysql.2021.01.09.20-01-55.sql.gz

Каким образом возможно теперь получить в переменной дату создания этого файла и сравнить с текущей датой?

Ответ на: комментарий от router

Так если сравнивать по unixtime по-любому будут отличаться, она же там в секундах? А мне потом нужно условие в скрипте указать если дата = текущей, то …

zorinquen ()
Ответ на: комментарий от zorinquen

unixtime можно перевести в любой удобный формат тем же date

ok@vm-ok:python_sqlalchemy$ date -d '@1610448499'
Вт 12 янв 2021 10:48:19 UTC
ok@vm-ok:python_sqlalchemy$ date -d '@1610448499' '+%Y.%m.%d'
2021.01.12
router ★★★★★ ()
Ответ на: комментарий от zorinquen

З.Ы. если задача позволяет, вместо сравнения с текущей датой можно проверять время жизни файла сразу при поиске (find -mtime -1)

router ★★★★★ ()
Ответ на: комментарий от router

а как можно с помощью date получить epoch time, выполнив предварительно для поиска самого файла:

ls -atl | grep "^-" | head -1

?

нужно использовать xargs?

zorinquen ()

Пресвятые богомолы, ты сейчас описываешь фантазии на тему решения некой задачи, но не описываешь саму задачу?!

zolden ★★★★★ ()

И вообще: никогда не используйте ls в скриптах. Оно не для того.

Borifed ()
Ограничение на отправку комментариев: только для зарегистрированных пользователей