Прошло некоторое время с тех пор, как мне пришлось вбивать скрипты в оболочку. Тем не менее, у меня есть сценарий оболочки, где я переименовываю файлы на основе расширения файла из загрузки 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