Déplacer en masse sous Linux

Résolu/Fermé
Y@nn - 30 avril 2009 à 18:55
 Y@nn - 30 avril 2009 à 21:23
Bonjour à tous,

Voilà j'ai un petit problème :

Je possède un répertoire qui est construit de cette manière :

adresse_de_mon_répertoire
{
Volume_001
{
001
{
Les_fichiers_que_je_veux_déplacer
{
Volume_002
{
002
{
Encore_des_fichiers_que_je_veux_déplacer

etc... en sachant qu'il y a 151 répertoire "Volume_xxx"

Je voudrais déplacer les fichiers se trouvant dans adresse_de_mon_répertoire/Volume_001/001/ dans adresse_de_mon_répertoire/Volume_001/ mais je voudrais faire ça pour tous les répertoires "Volume_xxx" en même temps.

Cela est-il possible ? :D

Merci d'avance !
A voir également:

4 réponses

Le message au dessus a mal été tapppé :

001 se trouve dans Volume_001 qui se trouve lui même dans le répertoire principal
002 se trouve dans Volume_002 qui se trouve lui même dans le répertoire principal
003 se trouve dans Volume_003 qui se trouve lui même dans le répertoire principal
etc...

Merci d'avance :D
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 895
30 avril 2009 à 19:24
Salut,

Histoire qu'on se comprenne bien...

En partant d'une arborescence comme suit :
$ tree
.
`-- Rep_Principal
    |-- Volume_001
    |   `-- 001
    |       |-- fichA.txt
    |       |-- fichB.txt
    |       `-- fichC.txt
    |-- Volume_002
    |   `-- 002
    |       |-- fichD.txt
    |       |-- fichE.txt
    |       `-- fichF.txt
    |-- Volume_003
    |   `-- 003
    |       |-- fichG.txt
    |       |-- fichH.txt
    |       `-- fichI.txt
    |-- Volume_004
    |   `-- 004
    |       |-- fichK.txt
    |       |-- fichL.txt
    |       `-- fichM.txt
    |-- Volume_005
    |   `-- 005
    |       |-- fichN.txt
    |       |-- fichO.txt
    |       `-- fichP.txt
    |-- Volume_006
    |   `-- 006
    |       |-- fichQ.txt
    |       |-- fichR.txt
    |       `-- fichS.txt
    |-- Volume_007
    |   `-- 007
    |       |-- fichT.txt
    |       |-- fichU.txt
    |       `-- fichV.txt
    |-- Volume_008
    |   `-- 008
    |       |-- fichW.txt
    |       |-- fichX.txt
    |       `-- fichY.txt
    `-- Volume_009
        `-- 009
            `-- fichZ.txt

19 directories, 25 files
Tu voudrais déplacer tous les fichiers "fich?.txt" dans le répertoire "Rep_Principal/Volume_001/", c'est ça ?
0
Salut
Merci de l'intérêt que tu portes à mon problème ^^

Par rapport à l'arborescence que tu as faite, c'est tout à fait ça (les fichiers que je veux déplacer sont des images).

Et ce que je veux, c'est déplacer tous les fichiers se trouvant dans 001 dans Volume_001, tous les fichiers se trouvant dans 002 dans Volume_002 etc...
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 895
30 avril 2009 à 20:14
[tmpfs]$ tree
.
`-- Rep_Principal
    |-- Volume_001
    |   `-- 001
    |       |-- fichA.txt
    |       |-- fichB.txt
    |       `-- fichC.txt
    |-- Volume_002
    |   `-- 002
    |       |-- fichD.txt
    |       |-- fichE.txt
    |       `-- fichF.txt
    |-- Volume_003
    |   `-- 003
    |       |-- fichG.txt
    |       |-- fichH.txt
    |       `-- fichI.txt
    |-- Volume_004
    |   `-- 004
    |       |-- fichK.txt
    |       |-- fichL.txt
    |       `-- fichM.txt
    |-- Volume_005
    |   `-- 005
    |       |-- fichN.txt
    |       |-- fichO.txt
    |       `-- fichP.txt
    |-- Volume_006
    |   `-- 006
    |       |-- fichQ.txt
    |       |-- fichR.txt
    |       `-- fichS.txt
    |-- Volume_007
    |   `-- 007
    |       |-- fichT.txt
    |       |-- fichU.txt
    |       `-- fichV.txt
    |-- Volume_008
    |   `-- 008
    |       |-- fichW.txt
    |       |-- fichX.txt
    |       `-- fichY.txt
    `-- Volume_009
        `-- 009
            `-- fichZ.txt

19 directories, 25 files

[tmpfs]$ find Rep_Principal/ -type f -exec bash -c 'dir=$(dirname $1); mv $1 ${dir%/*}' _ {} \; 2>/dev/null

[tmpfs]$ tree
.
`-- Rep_Principal
    |-- Volume_001
    |   |-- 001
    |   |-- fichA.txt
    |   |-- fichB.txt
    |   `-- fichC.txt
    |-- Volume_002
    |   |-- 002
    |   |-- fichD.txt
    |   |-- fichE.txt
    |   `-- fichF.txt
    |-- Volume_003
    |   |-- 003
    |   |-- fichG.txt
    |   |-- fichH.txt
    |   `-- fichI.txt
    |-- Volume_004
    |   |-- 004
    |   |-- fichK.txt
    |   |-- fichL.txt
    |   `-- fichM.txt
    |-- Volume_005
    |   |-- 005
    |   |-- fichN.txt
    |   |-- fichO.txt
    |   `-- fichP.txt
    |-- Volume_006
    |   |-- 006
    |   |-- fichQ.txt
    |   |-- fichR.txt
    |   `-- fichS.txt
    |-- Volume_007
    |   |-- 007
    |   |-- fichT.txt
    |   |-- fichU.txt
    |   `-- fichV.txt
    |-- Volume_008
    |   |-- 008
    |   |-- fichW.txt
    |   |-- fichX.txt
    |   `-- fichY.txt
    `-- Volume_009
        |-- 009
        `-- fichZ.txt

19 directories, 25 files

[tmpfs]$
;-))
0
Merci ça marche parfaitement :D
0