Charles Plessy a écrit :
Le Wed, Aug 23, 2006 at 12:39:12PM +0200, Daniel C a écrit :
mais
find -type f -name '*TOTO*' -exec rename 's/TOTO/titi/' {} \;
renvoie "Can't rename ./unrepTOTO/unfichierTOTO
/unreptiti/unfichierTOTO: Aucun fichier ou répertoire de ce type" car
le rep unreptiti n'existe pas.
Dans ce cas, il faut ruser:
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...
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).
Pour le cas du fichier dans repTATA/repTOTO/fichierTOTO, le '?' doit
marcher. J'essaie de garder ça en tête pour ne renommer que les fichiers
mais pas les rep parents.
Bref, on peut jouer assez longtemps avec les regexp... et chaque cas est
particulier.
J'espèrais que l'on pouvait utiliser
rename 's#TOTO#titi#2' *
(si on tous les fichiers à renommer sont dans un rep du rep courant)
mais ce qui marche avec sed marche pas avec rename... (apparemment on
peut juste mettre g ou i comme option).
Daniel
Bonne journée,
itou
--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]