Déplacer en masse sous Linux

Résolu
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 !

4 réponses

  1. 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
    1. Modérateur
      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
      1. 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
        1. Modérateur
          [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
          1. Merci ça marche parfaitement :D
            0