J'essaye de cloner un répertoire et ses sous-répertoires dans un autre répertoire. J'ai des centaines de répertoires de musique avec des sous-répertoires que je souhaite convertir de flac à ogg. Je veux que tous les sous-répertoires musicaux sous / Music soient clonés dans / Music / Oggs / afin que, lors de la conversion, les fichiers soient tous écrits dans les mêmes noms de répertoires. Voici ce que j'ai
/ Musique / Van_Halen_Discography / 1980, les femmes et les enfants d'abord /
Ce dont j'ai besoin, c'est du clone de répertoires à ceci:
/ Musique / Oggs / Van_Halen_Discography / 1980, les femmes et les enfants d'abord /
J'ai essayé d'utiliser 'find / Music -type d | cat> / Music / Oggs'
Mais ça n'a pas marché, qu'est-ce qui me manque? Merci
cat
ne fait pas de répertoires. Il suffit de créer un fichier texte / Musique / Oggs dans la commande donnéeRéponses:
Vous pouvez utiliser rsync comme suit.
Ici, il est
-a
dit à rsync de récidiver dans les répertoires et de préserver les liens, les autorisations et la propriété tout en lev
rendant prolixe.-f
est un filtre avec le premier argument incluant tous les répertoires et le second excluant tous les fichiers. Je suggère d’essayer d’abord un petit exemple si vous ne connaissez pas bien rsync.la source
/path/to/Music/
avec la barre oblique de fin. Ma faute. Je suis content que vous ayez réussi.Il existe un moyen simple, supposons que vous soyez
~/Music/
avec le shell actuel.cp
est la commande normale utilisée sous Linux pour copier des fichiers et des répertoires-rp
ou si vous préférez des-r
-p
options pourr
naviguer dans les annuaires et pourp
réserver des accès horaires, des droits de propriété ...Utilisez cette option pour obtenir
man cp
un aperçu plus complet.!(Oggs)
Tricky avec!
vous infirment ce qui est dans la parenthèse: si vous dites tous les fichiers copiste et nonOggs
àOggs
Remarque: Ceci nécessite
shopt extglob
, si est désactivé, utilisezshopt -s extglob
pour l'activer.la source