2015-04-19 3 views
0

Я пытаюсь получить последний раз, когда был изменен файл. Я использовал переменную для даты и переменную для времени.Как получить последний раз, когда файл был изменен в Unix

Это даст дату и время, но я хочу использовать -r с помощью команды date, чтобы сделать отражение, когда дата была последней модификации. Просто не уверен, как я использую его в своих переменных.

Как бы я это сделал?

Вот мои переменные:

DATE="$(date +'%m/%d/%Y')" 
TIME="$(date +'%H:%M')" 

Я попытался положить -r до и после даты и времени.

+0

Что эти переменные относятся к временам изменения файла? Это только текущая дата и время. – Barmar

+0

Ну, я использую этот скрипт для вывода в .php-файл с помощью планировщика cron. Планировщик cron выполняет скрипт, который обновит файл .php. – javanoob17

ответ

0

Хотя люди могут сказать вам, вы должны не разобрать выход ls, просто, что может легко сломаться, если ваше имя файла содержит вкладки, пробелы, переносы строк, ваш пользователь решает просто указать другой набор ls опций , версия ls вы найдете не ведет себя, как вы ожидали ...

Использование stat вместо:

stat -c '%Y' 

даст вам секунд с момента epoch.

Попробуйте

date -d "@$(stat -c '%Y' $myfile)" "+%m/%d/%Y" 

, чтобы получить дату и прочитать man date, чтобы получить время в формате, который вы хотите, заменив «% F» в командной строке выше:

date -d "@$(stat -c '%Y' $myfile)" "+%H:%M" 

EDIT: использовала ваши форматы.

EDIT2: Я действительно не думаю, что ваш формат даты является мудрым, потому что он настолько неоднозначен для любого, кто не из США, а также его нелегко сортировать. Но это культурная вещь, поэтому это скорее намек: если вы хотите, чтобы ваши пользователи могли использовать вас из-за рубежа, используйте формат Year-month-day как формат или установите текущую настройку локали для форматирования дат.

+0

Спасибо, вы потрясающий !!! – javanoob17

0

Я думаю, что вы ищете

ls -lt myfile.txt 

Здесь, в 6-м столбце, вы увидите, когда файл был изменен.

Или вы можете использовать stat myfile.txt, чтобы проверить измененное время файла.

Смежные вопросы