Re: Renommage en masse
Le Wed, Aug 23, 2006 at 01:58:39PM +0200, Daniel C a écrit :
> Charles Plessy a écrit :
> >
> >kunpuu|charles|$ rename -n 's#TOTO#titi#' repTOTO/fichTOTO
> >repTOTO/fichTOTO renamed as reptiti/fichTOTO
>
> Si tu enlève le -n tu auras une erreur...
Normal, car là n'était pas l'astuce. Désolé d'avoir introduit la
notation en dièse par paresse. Elle fait la même chose que le
traditionnel s///, mais elle évite d'avoir à protéger les barres
obliques avec des barres contre-obliques :
s#tutu/TOTO#tutu/titi# équivaut à s/tutu\/TOTO/tutu\/titi/
(et on peut remplacer les dièses par pas mal d'autres caractères...)
> >kunpuu|charles|$ rename -n 's#(.*/?)TOTO#$1titi#' repTOTO/fichTOTO
> >repTOTO/fichTOTO renamed as repTOTO/fichtiti
>
> Et les fichiers qui seraient dans le rep courant ? (il devrait suffire
> d'appeler les fichiers avec ./ au début).
sorbet【~】$ touch fichTOTO
sorbet【~】$ rename -n 's#(.*/?)TOTO#$1titi#' fichTOTO
fichTOTO renamed as fichtiti
Le point d'interrogation signifie « zéro ou un ». Et comme l'astérisque
utilisée avant est gloutonne, elle englobera tous les « / » sauf le
dernier.
Bonne journée,
--
Charles
Reply to: