У меня есть несколько архивов 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
script
nas
shell-script
rar
Touff
источник
источник
unrar
имеет встроенную рекурсию с помощью-r
Recurse subdirectories
переключателя.unrar x -r <parent directory>
Извлекает содержимое всех подкаталогов<parent directory>
в каждый подкаталог, сохраняя любую структуру каталогов, которая существует в.rar
файлах. Используйтеe
вместо,x
если структура каталогов нежелательна.источник
<parent directory>
. Он не поместит извлеченные файлы в подкаталог рядом с.rar
файлами. Так что это зависит от того, какой результат желателен. ОП не был конкретным в этом случае. Иногда ваш ответ полезен для меня, но иногда мне нуженfind
ответ.Если вы хотите переместить фотографии, сделанные не по назначению, в другое место назначения, просто введите место назначения в конце, например:
find source_dir/ -name '*.rar' -execdir unrar e -o- {} /new/destination_dir/ \;
источник