Le Mon, 29 Mar 2004 20:14:50 +0200, Jacques L'helgoualc'h a écrit : > Bertrand Lemaître a écrit, lundi 29 mars 2004, à 17:37 : >> Le Wed, 26 Nov 2003 09:37:06 +0100, Charles Plessy a écrit : > [...] >> Bonjour, > > 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 > > for i in $(find /var/lib/sympa/enseignant -name config -print) > do > perl -pi.old -e 's/5000000/6000000/g' "$i" > done > > On peut remplacer Perl par Sed (version 4) : > > sed -i.old '/^maxsize/s/5000000/6000000/' "$i" > > > (si c'est seulement la ligne commençant par maxsize qu'il faut traiter ; > le flag g semble alors superflu d'après l'exemple ci-dessous). > > >> Voici ce que ramène find /var/lib/sympa/expl/enseignant -name config >> -print >> : /var/lib/sympa/expl/enseignant/config > > S'il n'y a pas d'autre config dans des sous-dossiers, find et la boucle > sont inutiles. > >> Voici ce que ramène grep 5000000 /var/lib/sympa/expl/enseignant/config : >> max_size 5000000 > >> Pouvez vous m'aider ? > > EEAA. > >> Merci > > de rien, > -- > Jacques L'helgoualc'h Cela fonctionne,
Merci. Le find, c'est pour une utilisation étendue par rapport à mon exemple. i.old est un fichier temporaire automatiquement supprimé après l'exécution ?