J'ai plusieurs archives RAR réparties dans plusieurs répertoires mais toutes sous un dossier racine particulier sur mon NAS basé sur Debian. Quelqu'un pourrait-il m'aider à écrire un script simple qui rentrerait récursivement dans chaque dossier, déraillerait le contenu, retournerait au dossier parent et passerait au répertoire suivant? Donc:
cd Photos/Summer/Italy/
unrar e Italy.rar
wait
cd ../France/
unrar e France.rar
wait
etc...
Il suffit donc de le pointer vers le dossier racine "Photos" et il passe à travers tout sans se soucier du chemin ...
Par exemple, la structure du répertoire:
*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
la source
la source
unrar
a une récursivité intégrée utilisant le-r
Recurse subdirectories
commutateur.unrar x -r <parent directory>
Extrait le contenu de tous les sous-répertoires sous<parent directory>
dans chaque sous-répertoire, en conservant toute structure de répertoires qui existe dans les.rar
fichiers. À utiliser à lae
place dex
si la structure de répertoires n'est pas souhaitée.la source
<parent directory>
. Il ne placera pas les fichiers extraits dans le sous-répertoire à côté des.rar
fichiers. Cela dépend donc du résultat souhaité. L'OP n'était pas spécifique dans ce cas. Parfois, votre réponse m'est utile, mais d'autres fois, j'ai besoin de lafind
réponse.Si vous souhaitez déplacer les photos non enregistrées vers une autre destination, entrez simplement la destination à la fin, comme ceci:
find source_dir/ -name '*.rar' -execdir unrar e -o- {} /new/destination_dir/ \;
la source