У меня есть набор архивных файлов - как в zip, так и в rar форматах - внутри которых мне нужно переименовать некоторые файлы. В частности, я хочу сделать что-то вроде этого:
for each archive file in a directory
for each file in the archive
if the file name matches the regular expression /(.* - [0-9]{2})([0-9]{2} - .)*/
rename the file as \1-\2
Хитрость не столько в создании нового имени; Я могу сделать это с помощью bash
sed
или чего-либо еще. Это набор команд для работы с файлами в архивах с использованием rar
/unrar
или unzip
/zip
(Если это имеет значение, я переформатирую некоторые файлы CBR/CBZ, чтобы получить развороты двухстраничных страниц в SimpleComic в правильном порядке - он интерпретирует страницу 0203 как страницу 203, что делает историю немного тяжело следовать)