Le Wed, 26 Nov 2003 09:37:06 +0100, Charles Plessy a écrit :

> 
>> N'est-il pas plus simple de faire un for?
>> for i in `find . -f type f -print`; do cp $i $i.sed; sed 
>> "s/\/home\/toto\/gallery\//\/home\/sites\/toto\/gallery\//g" $i.sed > 
>> $i; rm $i; done
> 
> et pour les amateurs de perl et de bash:
> 
> for i in $(find -f type f -print)
> do perl -pe 's:/home/toto/gallery/:/home/sites/toto/gallery/:g'
> done

Bonjour,

J'ai essayé la version perl et bash, et malheureusement cela ne
fonctionne pas chez moi.

Lorsque je laisse perl -pe, le shell ne se termine jamais.
Lorsque je ne met que perl -e, je récupère la main, mais la substitution
ne s'est pas faite dans le fichier.

Voici mon script :
for i in $(find /var/lib/sympa/enseignant -name config -print)
do perl -e
's:/5000000/:/6000000/:g' done

Voici ce que ramène find /var/lib/sympa/expl/enseignant -name config
-print
: /var/lib/sympa/expl/enseignant/config

Voici ce que ramène grep 5000000 /var/lib/sympa/expl/enseignant/config :
max_size 5000000


Pouvez vous m'aider ?


Merci



Reply via email to