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 :
-0777impose à perl de lire tout le fichier d'un seul coup-espécifie que le code perl est fourni en argument dans la ligne de commande-ppermet de boucler-ipermet 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) gpermet d'appliquer autant de fois possible la substitutionspour travailler en mode ligne unique (les sauts de ligne sont “transformés” en \n)irend le motif insensible à la casse
informatique/perl.txt · Last modified: 2017/09/26 14:33 by pteu