Comment déplacer récursivement tous les dossiers d'un répertoire en arrière d'un répertoire

15

J'ai des dossiers dans un décor / terrain qui contiennent des dossiers appelés terrain et objets. Ces dossiers contiennent des dossiers contenant des fichiers de données. Comment déplacer tout le contenu décor / terrain / [nom] / terrain vers décor / terrain, et le contenu de décor / terrain / [nom] / objets vers décor / objets?

Andrew D.
la source

Réponses:

19

Il n'y a pas d'option récursive pour la mvcommande, donc s'il y a des répertoires à l'intérieur des répertoires que vous souhaitez déplacer, vous devrez utiliser cp. Celui-ci, ça va:

cp -R scenery/terrain/*/terrain/* scenery/terrain/
cp -R scenery/terrain/*/objects/* scenery/objects/

Ensuite, quand vous êtes sûr que cela a fonctionné:

rm -rf scenery/terrain/*/terrain
rm -rf scenery/terrain/*/objects
Ryan
la source
Bon point, mais je pense que sous Mac OS ce sera cp -R (majuscule R).
QSQ
@QSQ Merci pour la correction. Fixé maintenant.
Ryan
-r a bien fonctionné.
Andrew D.
1
mv scenery/terrain/*/terrain/* scenery/terrain/
mv scenery/terrain/*/objects/* scenery/objects/
QSQ
la source
Essayez-le sur une copie du dossier au cas où j'aurais mal compris quelque chose :-)
QSQ
Trop tard maintenant .. Échec de ma part. Je peux toujours retravailler les 13 Go de décors.
Andrew D.
Ça n'a pas marché. Dit que "le répertoire n'est pas vide"
Andrew D.
Hmm bizarre. Je l'avais essayé ici en construisant un arbre comme ça et en mettant des fichiers dans un paysage / terrain / a / terrain / paysage / terrain / b / terrain / et paysage / terrain / a / objets / et paysage / terrain / b / objets /
QSQ
Peut-être que je peux essayer de déplacer le répertoire courant / terrain ailleurs pour éviter les conflits de fichiers?
Andrew D.