Рекурсивный разбор нескольких папок
У меня есть несколько архивов RAR, распределенных по нескольким каталогам, но все они находятся в определенной корневой папке на моем NAS-устройстве на базе Debian. Может ли кто-нибудь помочь мне написать простой сценарий, который будет рекурсивно входить в каждую папку, разбирать содержимое, возвращаться в родительскую папку и переходить в следующий каталог? Так:
cd Photos/Summer/Italy/
unrar e Italy.rar
wait
cd ../France/
unrar e France.rar
wait
etc...
Так что просто укажите его на корневую папку "Фото", и она будет пролетать сквозь нее, все в пути...
Например, структура каталогов:
*Photos:
-Summer
--Italy
---Italy.rar
---Italy.r01
---Italy.r02
--France
---France.rar
---France.r01
---France.r02
-Winter
--Siberia
---Siberia.rar
---Siberia.r01
---Siberia.r02
--Canada
---Snow.rar
---Snow.r01
---Snow.r02
3 ответа
Если вы хотите переместить фотографии, сделанные не по назначению, в другое место назначения, просто введите место назначения в конце, например:
find source_dir/ -name '*.rar' -execdir unrar e -o- {} /new/destination_dir/ \;
unrar
имеет встроенную рекурсию с использованием -r
Recurse subdirectories
переключатель.
unrar x -r <parent directory>
Извлекает содержимое всех подкаталогов в <parent directory>
в каждом подкаталоге, сохраняя любую структуру каталогов, которая существует в .rar
файлы. использование e
вместо x
если структура каталогов нежелательна.