[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: