Переименование файлов в bash-скрипте на основе даты изменения файла

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

В настоящее время файлы загружаются на сервер через процесс FTP. Все файлы переименованы из filename.txt в filename.dat . Что я хотел бы сделать, это переименовать файлы только на основе даты изменения файла через определенное количество минут.

то есть все файлы, время модификации которых превышает пять (5) минут.
-mtime -5.

Ниже мой сценарий оболочки:

#!/bin/bash for name in /u/easy/ep2/data/download/*.txt; do newname=${name%.txt}.log mv "$name" "$newname" done 

Вам нужно +5 более 5 минут.

 find /u/easy/ep2/data/download -maxdepth 1 -name '*.txt' -mtime +5 \ -exec sh -c 'mv "$1" "${1%.txt}.log"' arg0ignored {} \; 

редактировать

Пример:

 $ find /tmp -maxdepth 1 -name '*.txt' -mtime +5 -exec sh -c 'echo mv "$1" "${1%.txt}.log"' x0 '{}' \; mv /tmp/1.txt /tmp/1.log mv /tmp/2.txt /tmp/2.log