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