informatique:perl
Table of Contents
programmation
Perl
Perl est un langage de programmation interprété.
Tips
- Afficher la significations des retours des codes d'erreurs (depuis un prompt *sh):
perl -le 'print $!+0, "\t", $!++ for 0..127'
Substitution multi-lignes
(à la différence de sed qui opère ligne par ligne)
Perl permet facilement de faire des recherches/substitutions sur plusieurs lignes dans un fichier ; par exemple pour supprimer toutes les lignes contenues entre les balises “—–BEGIN” et “—–END” dans le fichier FILE (IRL cela sert à supprimer les certificats dans les fichiers de configuration des Fortigate) :
perl -0777 -i -pe 's/[[:blank:]]*set [a-zA-Z0-9-_]* "-----BEGIN.*?-----END.*?\n//igs' FILE
Explications :
-0777
impose à perl de lire tout le fichier d'un seul coup-e
spécifie que le code perl est fourni en argument dans la ligne de commande-p
permet de boucler-i
permet d'altérer le fichier source directement (sans spécifier de fichier destination)
Pour l'expression régulière :
s/
permet d'introduire une substitution (rappel :m/
(ou juste/
) pour juste rechercher)- .*
?
: quantificateur non gourmand (non-greedy), indique que.*
doit matcher le plus court motif possible (par défaut c'est le plus long) g
permet d'appliquer autant de fois possible la substitutions
pour travailler en mode ligne unique (les sauts de ligne sont “transformés” en \n)i
rend le motif insensible à la casse
informatique/perl.txt · Last modified: 2017/09/26 14:33 by pteu