Я мог бы использовать некоторую помощь со сценарием оболочки для переименования файлов с использованием частей дерева каталогов и существующего имени файла.
Справочная информация: Соглашение об именах файлов взято с камеры видеонаблюдения Amcrest, которую нельзя изменить. Камера создает новую папку для каждой минуты и каждого часа дня.
Файлы jpeg создаются с использованием секунд после минуты.
Текущая структура именования:
AMC0103W_93Sxxx/2017-02-07/001/jpg.14/02/29[M][0@0][0].jpg
где 14 - час, 02 - минуты, а 29 - секунды.
Вот формат, который я хотел бы иметь:
AMC0103W_93Sxxx/2017-02-07/140229.jpg
Моя цель - установить задание crontab
, которое будет выполняться ежечасно, чтобы переименовать их в новый каталог, а затем удалить старый каталог и файлы.
Занна, ваше решение сработало отлично, спасибо. Что касается вопросов безопасности с этими камерами, я согласен с вами & amp; причина, по которой я храню их на своем собственном внутреннем FTP-сервере, а не пользуюсь этими облачными облачными сервисами для камер.
Ваш скрипт:
find AMC0103W_93Sxxx -type f | rename -n 's|(.*/)[^/]+/jpg/([^/]+)/([^/]+)/([^[]*)\[.*|$1$2$3$4.jpg|'
Вывод:
rename(AMC0103W_93Sxxx/2017-02-11/001/jpg/07/02/27[M][0@0][0].jpg, AMC0103W_93Sxxx/2017-02-11/070227.jpg)