en utilisant perl
et trois options de ligne de
commande. L'option -p
lit chaque fichier passé en
argument, lui applique la (ou les) action(s) passée(s) en argument de
l'option -e
et restitue le résultat sur la sortie
standard. L'option -e
permet d'expliciter la commande à
appliquer au flux "passé en entrée" (il peut y avoir plusieurs options
-e
pour un même appel à l'interpréteur
perl
). Enfin, l'option -i
(in-place)
modifie le comportement de l'option -p
dans la mesure où
le résultat est stocké dans le fichier de données lui-même au lieu
d'être restitué sur stdout
. Ainsi l'instruction :
% perl -pi -e 's#/usr/local/bin/bash#/bin/bash#' *.sh
permet de modifier le chemin de l'interpréteur bash
(/usr/local/bin devient /bin) dans tous les fichiers du répertoire
courant ayant ".sh" pour extension. Si l'on souhaite garder une copie
des "sources" avant modification, il faut accoler à l'option
-i
une chaîne de caractère. Le fichier original sera
alors sauvegardé sous son nom avec cette dernière pour extension.
Exemple :
% perl -pi.copie -e 's#voiture#automobile#og' *.txt