Переименование файлов с использованием пути к каталогу [дубликат]

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

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

1
задан 11 February 2017 в 16:46

1 ответ

Занна, ваше решение сработало отлично, спасибо. Что касается вопросов безопасности с этими камерами, я согласен с вами & 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)
1
ответ дан 7 December 2019 в 15:40

Другие вопросы по тегам:

Похожие вопросы: