#1 Le 20/08/2015, à 11:12
- gerardsix
[Resolu] Déplacer des fichiers de plusieurs dossiers dans le dossier
Bonjour.
Je cherche a creer un script qui reponde a la problématique suivante :
J'ai un dossier D qui contient des dossiers D1, D2, .........Dn. Dans chacun des Di il y a des fichiers divers et varies que je voudrai deplacer dans le dossier "pere", D, puis effacer chaque dossier Di vidé.
Auriez-vous des ideés? Merci par avance.
Dernière modification par gerardsix (Le 21/08/2015, à 07:50)
Hors ligne
#2 Le 20/08/2015, à 13:05
- credenhill
Re : [Resolu] Déplacer des fichiers de plusieurs dossiers dans le dossier
hello
y a-t-il des sous répertoires dans les répertoires Dn ?
Hors ligne
#3 Le 20/08/2015, à 13:32
- gerardsix
Re : [Resolu] Déplacer des fichiers de plusieurs dossiers dans le dossier
Non, pas de dossier dans les Di, que des fichiers.
Hors ligne
#4 Le 20/08/2015, à 14:06
- credenhill
Re : [Resolu] Déplacer des fichiers de plusieurs dossiers dans le dossier
y a-t-il des fichiers qui ont le même nom ?
on est dans D, faire une sauvegarde avant
mv D*/* .; rm -r D*
Hors ligne
#5 Le 20/08/2015, à 14:19
- MicP
Re : [Resolu] Déplacer des fichiers de plusieurs dossiers dans le dossier
michel@debG53SW:~$ ls -lR D
ls: impossible d'accéder à D: Aucun fichier ou dossier de ce type
michel@debG53SW:~$ mkdir -p D/D{1..3} && touch D/D1/fich-1-{1..3} D/D2/fich-2-{1..3} D/D3/fich-3-{1..3}
michel@debG53SW:~$ ls -lR D
D:
total 12
drwxr-xr-x 2 michel michel 4096 août 20 15:27 D1
drwxr-xr-x 2 michel michel 4096 août 20 15:27 D2
drwxr-xr-x 2 michel michel 4096 août 20 15:27 D3
D/D1:
total 0
-rw-r--r-- 1 michel michel 0 août 20 15:27 fich-1-1
-rw-r--r-- 1 michel michel 0 août 20 15:27 fich-1-2
-rw-r--r-- 1 michel michel 0 août 20 15:27 fich-1-3
D/D2:
total 0
-rw-r--r-- 1 michel michel 0 août 20 15:27 fich-2-1
-rw-r--r-- 1 michel michel 0 août 20 15:27 fich-2-2
-rw-r--r-- 1 michel michel 0 août 20 15:27 fich-2-3
D/D3:
total 0
-rw-r--r-- 1 michel michel 0 août 20 15:27 fich-3-1
-rw-r--r-- 1 michel michel 0 août 20 15:27 fich-3-2
-rw-r--r-- 1 michel michel 0 août 20 15:27 fich-3-3
michel@debG53SW:~$ mv ./D/D*/* D && rmdir D/D*
michel@debG53SW:~$ ls -l D
total 0
-rw-r--r-- 1 michel michel 0 août 20 15:27 fich-1-1
-rw-r--r-- 1 michel michel 0 août 20 15:27 fich-1-2
-rw-r--r-- 1 michel michel 0 août 20 15:27 fich-1-3
-rw-r--r-- 1 michel michel 0 août 20 15:27 fich-2-1
-rw-r--r-- 1 michel michel 0 août 20 15:27 fich-2-2
-rw-r--r-- 1 michel michel 0 août 20 15:27 fich-2-3
-rw-r--r-- 1 michel michel 0 août 20 15:27 fich-3-1
-rw-r--r-- 1 michel michel 0 août 20 15:27 fich-3-2
-rw-r--r-- 1 michel michel 0 août 20 15:27 fich-3-3
michel@debG53SW:~$
Dernière modification par MicP (Le 20/08/2015, à 14:28)
Hors ligne
#6 Le 20/08/2015, à 16:37
- Compte anonymisé
Re : [Resolu] Déplacer des fichiers de plusieurs dossiers dans le dossier
et ces commandes
find ~/D -type f -exec echo mv -n {} ~/D \;
puis un
find ~/D/* -type d -exec echo rm -r {} \;
Ces commandes vont afficher ce qu'elles vont faire ou sélectionner
Si c'est bon, il suffit de supprimer echo
Je les ai essayé, elles fonctionnent bien malgré les messages d'erreurs
Ici le dossier parent s'appelle D et se trouve dans ton Home (~/)
Voilà ce que ça donne chez moi (sans echo)
~$ ls -1R D
D:
D1
D2
D3
D/D1:
fichier1-1
fichier2-1
fichier3-1
D/D2:
fichier1-2
fichier2-2
fichier3-2
D/D3:
fichier1-3
fichier2-3
fichier3-3
~$ find ~/D -type f -exec mv -n {} ~/D \;
~$ ls -1R D
D:
D1
D2
D3
fichier1-1
fichier1-2
fichier1-3
fichier2-1
fichier2-2
fichier2-3
fichier3-1
fichier3-2
fichier3-3
D/D1:
D/D2:
D/D3:
~$ find ~/D/* -type d -exec rm -r {} \;
find: "/home/bruno/D/D1": Aucun fichier ou dossier de ce type
find: "/home/bruno/D/D2": Aucun fichier ou dossier de ce type
find: "/home/bruno/D/D3": Aucun fichier ou dossier de ce type
~$ ls -1R D
D:
fichier1-1
fichier1-2
fichier1-3
fichier2-1
fichier2-2
fichier2-3
fichier3-1
fichier3-2
fichier3-3
~$
y a-t-il des fichiers qui ont le même nom ?
on est dans D, faire une sauvegarde avantmv D*/* .; rm -r D*
Question judicieuse...
Dernière modification par NéoUbuntonien (Le 20/08/2015, à 16:55)
#7 Le 20/08/2015, à 19:39
- gerardsix
Re : [Resolu] Déplacer des fichiers de plusieurs dossiers dans le dossier
Bonsoir. Veuillez m'excuser pour ma réponse tardive. Non il n'y a pas de fichiers ayant le même nom. J'ai essayé la commande donnée premier et ça marche bien. C'est d'une telle simplicité que j'ai un peu honte de ne pas y avoir pensé moi-même. Quoi qu'il en soit je vous remercie tous pour votre aide.
Hors ligne
#8 Le 20/08/2015, à 19:48
- MicP
Re : [Resolu] Déplacer des fichiers de plusieurs dossiers dans le dossier
S'il y avait eu des fichiers ayant le même nom, mv ne les aurait pas déplacé et l'aurait signalé :
michel@debG53SW:~$ mkdir -p D/D{1..3} && touch D/D1/fich-1-{1..3} D/D2/fich-2-{1..3} D/D3/fich-3-{1..3}
michel@debG53SW:~$ touch D/D1/fich-2-{1..3}
michel@debG53SW:~$ mv ./D/D*/* D
mv: n'écrasera pas « D/fich-2-1 » qui vient d'être créé par « ./D/D2/fich-2-1 »
mv: n'écrasera pas « D/fich-2-2 » qui vient d'être créé par « ./D/D2/fich-2-2 »
mv: n'écrasera pas « D/fich-2-3 » qui vient d'être créé par « ./D/D2/fich-2-3 »
michel@debG53SW:~$ ls -lR D
D:
total 12
drwxr-xr-x 2 michel michel 4096 août 20 20:42 D1
drwxr-xr-x 2 michel michel 4096 août 20 20:41 D2
drwxr-xr-x 2 michel michel 4096 août 20 20:42 D3
-rw-r--r-- 1 michel michel 0 août 20 20:41 fich-1-1
-rw-r--r-- 1 michel michel 0 août 20 20:41 fich-1-2
-rw-r--r-- 1 michel michel 0 août 20 20:41 fich-1-3
-rw-r--r-- 1 michel michel 0 août 20 20:41 fich-2-1
-rw-r--r-- 1 michel michel 0 août 20 20:41 fich-2-2
-rw-r--r-- 1 michel michel 0 août 20 20:41 fich-2-3
-rw-r--r-- 1 michel michel 0 août 20 20:41 fich-3-1
-rw-r--r-- 1 michel michel 0 août 20 20:41 fich-3-2
-rw-r--r-- 1 michel michel 0 août 20 20:41 fich-3-3
D/D1:
total 0
D/D2:
total 0
-rw-r--r-- 1 michel michel 0 août 20 20:41 fich-2-1
-rw-r--r-- 1 michel michel 0 août 20 20:41 fich-2-2
-rw-r--r-- 1 michel michel 0 août 20 20:41 fich-2-3
D/D3:
total 0
michel@debG53SW:~$
Hors ligne
#9 Le 20/08/2015, à 20:29
- Compte anonymisé
Re : [Resolu] Déplacer des fichiers de plusieurs dossiers dans le dossier
Reste à mettre [Résolu] au début de ton titre