$ tree Archive/
Archive/
├── DOSSIERA
│** ├── dossier1
│** │** ├── fichier1
│** │** ├── fichier2
│** │** └── fichier3
│** ├── dossier2
│** │** ├── fichierA
│** │** └── fichierB
│** └── dossier3
│** ├── fichierX
│** ├── fichierY
│** └── fichierZ
└── DOSSIERB
├── dossier1
│** ├── fichier1
│** ├── fichier2
│** └── fichier3
├── dossier2
│** ├── fichierA
│** └── fichierB
└── dossier3
├── fichierX
├── fichierY
└── fichierZ
8 directories, 16 files
$ find Archive \( -name "DOSSIERA" -prune \) -o \( -type f \) -exec bash -c 'DEST="${1%%/*}";
REP="${1%/*}"; mv -v "${1}" "${DEST%/*}/DOSSIERA/$
{REP##*/}/"' _ {} \;
«*Archive/DOSSIERB/dossier3/fichierZ*» -> «*Archive/DOSSIERA/dossier3/fichierZ*»
«*Archive/DOSSIERB/dossier3/fichierY*» -> «*Archive/DOSSIERA/dossier3/fichierY*»
«*Archive/DOSSIERB/dossier3/fichierX*» -> «*Archive/DOSSIERA/dossier3/fichierX*»
«*Archive/DOSSIERB/dossier2/fichierB*» -> «*Archive/DOSSIERA/dossier2/fichierB*»
«*Archive/DOSSIERB/dossier2/fichierA*» -> «*Archive/DOSSIERA/dossier2/fichierA*»
«*Archive/DOSSIERB/dossier1/fichier3*» -> «*Archive/DOSSIERA/dossier1/fichier3*»
«*Archive/DOSSIERB/dossier1/fichier2*» -> «*Archive/DOSSIERA/dossier1/fichier2*»
«*Archive/DOSSIERB/dossier1/fichier1*» -> «*Archive/DOSSIERA/dossier1/fichier1*»
$ tree Archive/
Archive/
├── DOSSIERA
│** ├── dossier1
│** │** ├── fichier1
│** │** ├── fichier2
│** │** └── fichier3
│** ├── dossier2
│** │** ├── fichierA
│** │** └── fichierB
│** └── dossier3
│** ├── fichierX
│** ├── fichierY
│** └── fichierZ
└── DOSSIERB
├── dossier1
├── dossier2
└── dossier3
8 directories, 8 files
$
Partager