Renommer noms de dossiers ET fichiers à l'intérieur de ces dossiers

Fermé
slnflx - 28 oct. 2020 à 17:06
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 - 30 oct. 2020 à 07:58
Bonjour,

J'aimerais renommer de la façon suivante, dans plusieurs dossiers différents, tout sous-dossier et fichiers à l'intérieur de ces sous -dossiers :

_T1w_0.8iso_p2_

en

_T1w_0_8iso_p2_

Mais je n'y parviens pas avec rename

Voici la structure du répertoire

dossier A
dossier B
dossier C

Chaque dossier contient trois sous-dossiers qui contiendront l'expression recherchée, avec un préfixe qui varie :

S02_T1w_0.8iso_p2_ND
S03_T1w_0.8iso_p2_ND
S04_T1w_0.8iso_p2


Chacun de ces sous-dossiers contient trois fichiers

stack_CONTROLFOOD_004_CL_S3_T1w_0.8iso_p2_ND.json
v_CONTROLFOOD_004_CL_S3_T1w_0.8iso_p2_ND.json
v_CONTROLFOOD_004_CL_S3_T1w_0.8iso_p2_ND.nii


J'aimerais remplacer partout le . par _ dans T1w_0.8iso_p2

Voyez vous une solution simple ?

Merci beaucoup


Configuration: Macintosh / Chrome 86.0.4240.111

1 réponse

zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 407
30 oct. 2020 à 07:58
Salut,

La structure :
$ tree test/
test/
├── dossierA
│   ├── S02_T1w_0.8iso_p2_ND
│   │   ├── stack_CONTROLFOOD_004_CL_S3_T1w_0.8iso_p2_ND.json
│   │   ├── v_CONTROLFOOD_004_CL_S3_T1w_0.8iso_p2_ND.json
│   │   └── v_CONTROLFOOD_004_CL_S3_T1w_0.8iso_p2_ND.nii
│   ├── S03_T1w_0.8iso_p2_ND
│   │   ├── stack_CONTROLFOOD_004_CL_S3_T1w_0.8iso_p2_ND.json
│   │   ├── v_CONTROLFOOD_004_CL_S3_T1w_0.8iso_p2_ND.json
│   │   └── v_CONTROLFOOD_004_CL_S3_T1w_0.8iso_p2_ND.nii
│   └── S04_T1w_0.8iso_p2
│   ├── stack_CONTROLFOOD_004_CL_S3_T1w_0.8iso_p2_ND.json
│   ├── v_CONTROLFOOD_004_CL_S3_T1w_0.8iso_p2_ND.json
│   └── v_CONTROLFOOD_004_CL_S3_T1w_0.8iso_p2_ND.nii
├── dossierB
│   ├── S02_T1w_0.8iso_p2_ND
│   │   ├── stack_CONTROLFOOD_004_CL_S3_T1w_0.8iso_p2_ND.json
│   │   ├── v_CONTROLFOOD_004_CL_S3_T1w_0.8iso_p2_ND.json
│   │   └── v_CONTROLFOOD_004_CL_S3_T1w_0.8iso_p2_ND.nii
│   ├── S03_T1w_0.8iso_p2_ND
│   │   ├── stack_CONTROLFOOD_004_CL_S3_T1w_0.8iso_p2_ND.json
│   │   ├── v_CONTROLFOOD_004_CL_S3_T1w_0.8iso_p2_ND.json
│   │   └── v_CONTROLFOOD_004_CL_S3_T1w_0.8iso_p2_ND.nii
│   └── S04_T1w_0.8iso_p2
│   ├── stack_CONTROLFOOD_004_CL_S3_T1w_0.8iso_p2_ND.json
│   ├── v_CONTROLFOOD_004_CL_S3_T1w_0.8iso_p2_ND.json
│   └── v_CONTROLFOOD_004_CL_S3_T1w_0.8iso_p2_ND.nii
└── dossierC
├── S02_T1w_0.8iso_p2_ND
│   ├── stack_CONTROLFOOD_004_CL_S3_T1w_0.8iso_p2_ND.json
│   ├── v_CONTROLFOOD_004_CL_S3_T1w_0.8iso_p2_ND.json
│   └── v_CONTROLFOOD_004_CL_S3_T1w_0.8iso_p2_ND.nii
├── S03_T1w_0.8iso_p2_ND
│   ├── stack_CONTROLFOOD_004_CL_S3_T1w_0.8iso_p2_ND.json
│   ├── v_CONTROLFOOD_004_CL_S3_T1w_0.8iso_p2_ND.json
│   └── v_CONTROLFOOD_004_CL_S3_T1w_0.8iso_p2_ND.nii
└── S04_T1w_0.8iso_p2
├── stack_CONTROLFOOD_004_CL_S3_T1w_0.8iso_p2_ND.json
├── v_CONTROLFOOD_004_CL_S3_T1w_0.8iso_p2_ND.json
└── v_CONTROLFOOD_004_CL_S3_T1w_0.8iso_p2_ND.nii

12 directories, 27 files


La commande :
$ find test/ -execdir rename -v 's/\b\./_/' '{}' \+
./S04_T1w_0.8iso_p2 renamed as ./S04_T1w_0_8iso_p2
./v_CONTROLFOOD_004_CL_S3_T1w_0.8iso_p2_ND.nii renamed as ./v_CONTROLFOOD_004_CL_S3_T1w_0_8iso_p2_ND.nii
./v_CONTROLFOOD_004_CL_S3_T1w_0.8iso_p2_ND.json renamed as ./v_CONTROLFOOD_004_CL_S3_T1w_0_8iso_p2_ND.json
./stack_CONTROLFOOD_004_CL_S3_T1w_0.8iso_p2_ND.json renamed as ./stack_CONTROLFOOD_004_CL_S3_T1w_0_8iso_p2_ND.json
./S03_T1w_0.8iso_p2_ND renamed as ./S03_T1w_0_8iso_p2_ND
./v_CONTROLFOOD_004_CL_S3_T1w_0.8iso_p2_ND.nii renamed as ./v_CONTROLFOOD_004_CL_S3_T1w_0_8iso_p2_ND.nii
./v_CONTROLFOOD_004_CL_S3_T1w_0.8iso_p2_ND.json renamed as ./v_CONTROLFOOD_004_CL_S3_T1w_0_8iso_p2_ND.json
./stack_CONTROLFOOD_004_CL_S3_T1w_0.8iso_p2_ND.json renamed as ./stack_CONTROLFOOD_004_CL_S3_T1w_0_8iso_p2_ND.json
./S02_T1w_0.8iso_p2_ND renamed as ./S02_T1w_0_8iso_p2_ND
./v_CONTROLFOOD_004_CL_S3_T1w_0.8iso_p2_ND.nii renamed as ./v_CONTROLFOOD_004_CL_S3_T1w_0_8iso_p2_ND.nii
./stack_CONTROLFOOD_004_CL_S3_T1w_0.8iso_p2_ND.json renamed as ./stack_CONTROLFOOD_004_CL_S3_T1w_0_8iso_p2_ND.json
./v_CONTROLFOOD_004_CL_S3_T1w_0.8iso_p2_ND.json renamed as ./v_CONTROLFOOD_004_CL_S3_T1w_0_8iso_p2_ND.json
./S04_T1w_0.8iso_p2 renamed as ./S04_T1w_0_8iso_p2
./v_CONTROLFOOD_004_CL_S3_T1w_0.8iso_p2_ND.nii renamed as ./v_CONTROLFOOD_004_CL_S3_T1w_0_8iso_p2_ND.nii
./v_CONTROLFOOD_004_CL_S3_T1w_0.8iso_p2_ND.json renamed as ./v_CONTROLFOOD_004_CL_S3_T1w_0_8iso_p2_ND.json
./stack_CONTROLFOOD_004_CL_S3_T1w_0.8iso_p2_ND.json renamed as ./stack_CONTROLFOOD_004_CL_S3_T1w_0_8iso_p2_ND.json
./S03_T1w_0.8iso_p2_ND renamed as ./S03_T1w_0_8iso_p2_ND
./v_CONTROLFOOD_004_CL_S3_T1w_0.8iso_p2_ND.nii renamed as ./v_CONTROLFOOD_004_CL_S3_T1w_0_8iso_p2_ND.nii
./v_CONTROLFOOD_004_CL_S3_T1w_0.8iso_p2_ND.json renamed as ./v_CONTROLFOOD_004_CL_S3_T1w_0_8iso_p2_ND.json
./stack_CONTROLFOOD_004_CL_S3_T1w_0.8iso_p2_ND.json renamed as ./stack_CONTROLFOOD_004_CL_S3_T1w_0_8iso_p2_ND.json
./S02_T1w_0.8iso_p2_ND renamed as ./S02_T1w_0_8iso_p2_ND
./v_CONTROLFOOD_004_CL_S3_T1w_0.8iso_p2_ND.nii renamed as ./v_CONTROLFOOD_004_CL_S3_T1w_0_8iso_p2_ND.nii
./stack_CONTROLFOOD_004_CL_S3_T1w_0.8iso_p2_ND.json renamed as ./stack_CONTROLFOOD_004_CL_S3_T1w_0_8iso_p2_ND.json
./v_CONTROLFOOD_004_CL_S3_T1w_0.8iso_p2_ND.json renamed as ./v_CONTROLFOOD_004_CL_S3_T1w_0_8iso_p2_ND.json
./S04_T1w_0.8iso_p2 renamed as ./S04_T1w_0_8iso_p2
./v_CONTROLFOOD_004_CL_S3_T1w_0.8iso_p2_ND.nii renamed as ./v_CONTROLFOOD_004_CL_S3_T1w_0_8iso_p2_ND.nii
./v_CONTROLFOOD_004_CL_S3_T1w_0.8iso_p2_ND.json renamed as ./v_CONTROLFOOD_004_CL_S3_T1w_0_8iso_p2_ND.json
./stack_CONTROLFOOD_004_CL_S3_T1w_0.8iso_p2_ND.json renamed as ./stack_CONTROLFOOD_004_CL_S3_T1w_0_8iso_p2_ND.json
./S03_T1w_0.8iso_p2_ND renamed as ./S03_T1w_0_8iso_p2_ND
./v_CONTROLFOOD_004_CL_S3_T1w_0.8iso_p2_ND.nii renamed as ./v_CONTROLFOOD_004_CL_S3_T1w_0_8iso_p2_ND.nii
./v_CONTROLFOOD_004_CL_S3_T1w_0.8iso_p2_ND.json renamed as ./v_CONTROLFOOD_004_CL_S3_T1w_0_8iso_p2_ND.json
./stack_CONTROLFOOD_004_CL_S3_T1w_0.8iso_p2_ND.json renamed as ./stack_CONTROLFOOD_004_CL_S3_T1w_0_8iso_p2_ND.json
./S02_T1w_0.8iso_p2_ND renamed as ./S02_T1w_0_8iso_p2_ND
./v_CONTROLFOOD_004_CL_S3_T1w_0.8iso_p2_ND.nii renamed as ./v_CONTROLFOOD_004_CL_S3_T1w_0_8iso_p2_ND.nii
./stack_CONTROLFOOD_004_CL_S3_T1w_0.8iso_p2_ND.json renamed as ./stack_CONTROLFOOD_004_CL_S3_T1w_0_8iso_p2_ND.json
./v_CONTROLFOOD_004_CL_S3_T1w_0.8iso_p2_ND.json renamed as ./v_CONTROLFOOD_004_CL_S3_T1w_0_8iso_p2_ND.json


Le résultat :
$ tree test/
test/
├── dossierA
│   ├── S02_T1w_0_8iso_p2_ND
│   │   ├── stack_CONTROLFOOD_004_CL_S3_T1w_0_8iso_p2_ND.json
│   │   ├── v_CONTROLFOOD_004_CL_S3_T1w_0_8iso_p2_ND.json
│   │   └── v_CONTROLFOOD_004_CL_S3_T1w_0_8iso_p2_ND.nii
│   ├── S03_T1w_0_8iso_p2_ND
│   │   ├── stack_CONTROLFOOD_004_CL_S3_T1w_0_8iso_p2_ND.json
│   │   ├── v_CONTROLFOOD_004_CL_S3_T1w_0_8iso_p2_ND.json
│   │   └── v_CONTROLFOOD_004_CL_S3_T1w_0_8iso_p2_ND.nii
│   └── S04_T1w_0_8iso_p2
│   ├── stack_CONTROLFOOD_004_CL_S3_T1w_0_8iso_p2_ND.json
│   ├── v_CONTROLFOOD_004_CL_S3_T1w_0_8iso_p2_ND.json
│   └── v_CONTROLFOOD_004_CL_S3_T1w_0_8iso_p2_ND.nii
├── dossierB
│   ├── S02_T1w_0_8iso_p2_ND
│   │   ├── stack_CONTROLFOOD_004_CL_S3_T1w_0_8iso_p2_ND.json
│   │   ├── v_CONTROLFOOD_004_CL_S3_T1w_0_8iso_p2_ND.json
│   │   └── v_CONTROLFOOD_004_CL_S3_T1w_0_8iso_p2_ND.nii
│   ├── S03_T1w_0_8iso_p2_ND
│   │   ├── stack_CONTROLFOOD_004_CL_S3_T1w_0_8iso_p2_ND.json
│   │   ├── v_CONTROLFOOD_004_CL_S3_T1w_0_8iso_p2_ND.json
│   │   └── v_CONTROLFOOD_004_CL_S3_T1w_0_8iso_p2_ND.nii
│   └── S04_T1w_0_8iso_p2
│   ├── stack_CONTROLFOOD_004_CL_S3_T1w_0_8iso_p2_ND.json
│   ├── v_CONTROLFOOD_004_CL_S3_T1w_0_8iso_p2_ND.json
│   └── v_CONTROLFOOD_004_CL_S3_T1w_0_8iso_p2_ND.nii
└── dossierC
├── S02_T1w_0_8iso_p2_ND
│   ├── stack_CONTROLFOOD_004_CL_S3_T1w_0_8iso_p2_ND.json
│   ├── v_CONTROLFOOD_004_CL_S3_T1w_0_8iso_p2_ND.json
│   └── v_CONTROLFOOD_004_CL_S3_T1w_0_8iso_p2_ND.nii
├── S03_T1w_0_8iso_p2_ND
│   ├── stack_CONTROLFOOD_004_CL_S3_T1w_0_8iso_p2_ND.json
│   ├── v_CONTROLFOOD_004_CL_S3_T1w_0_8iso_p2_ND.json
│   └── v_CONTROLFOOD_004_CL_S3_T1w_0_8iso_p2_ND.nii
└── S04_T1w_0_8iso_p2
├── stack_CONTROLFOOD_004_CL_S3_T1w_0_8iso_p2_ND.json
├── v_CONTROLFOOD_004_CL_S3_T1w_0_8iso_p2_ND.json
└── v_CONTROLFOOD_004_CL_S3_T1w_0_8iso_p2_ND.nii

12 directories, 27 files


;-))
0