Найдите все файлы .py в каталоге и подкаталогах, выберите дату последнего изменения всех и верните максимальную дату в определенном формате

#linux #bash #shell #unix #find

Вопрос:

Я изо всех сил старался это сделать. У меня есть несколько .py файлов, расположенных в моем каталоге и подкаталогах. Я хочу найти и перечислить их все с указанием даты и времени, а также вернуть дату и время последнего обновленного .py файла в переменной в формате " %m-%d-%Y %H:%M:%S" .

Как я могу этого достичь?

На данный момент я могу достичь только на этом этапе, когда он показывает мне статистику последней измененной даты в терминале. Ниже приведена команда, которую я использую:

 find . -path ./ABC -prune -false -o -name '*.py' -exec ls -lat {}   | head -n1
 

Здесь я специально упомянул, чтобы не искать в ./ABC папке.

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

 -rw-rw----  1 owner server   8263 Jul  8 09:09 ./apps/Test.py
 

Я ищу способ, с помощью которого я могу вернуть дату и время последнего обновленного файла ( ./apps/Test.py в данном случае) в переменной в формате 07-08-2021 09:09:30.

Комментарии:

1. 2daygeek.com/check-find-recently-modified-files-folders-linux

Ответ №1:

Просто find ... -printf . Видеть man find .

 find . -printf "%Tm-%Td-%TY %TH:%TM:%TSt%pn"
 

Я вижу find вывод в секундах с дробной частью. Вы можете отфильтровать их с sed помощью .