Affichage des articles dont le libellé est regex. Afficher tous les articles
Affichage des articles dont le libellé est regex. Afficher tous les articles

jeudi 4 mars 2021

grep, extraire des données

Il est possible d'utiliser grep pour extraire des données. Dans l'exemple qui suit, on récupère le nom des compagnies dans un fichier json. L'option -P active la compatibilité aux regexp PERL, le -o la récupération du terme matché et enfin le \K la suppression de la partie gauche dans le terme matché. C'est plus simple que sed ou awk mais apparemment, le -P ne serait pas supporté sur toutes les distributions.

mercredi 7 octobre 2020

vendredi 9 septembre 2016

sed, évaluer une commande bash lors du remplacement

Je souhaitai décoder des valeurs encodées en base64 via sed.

Le paramètre final "/e" de sed permet d'évaluer l'expression remplacée.

Ici c'est la commande bash qui affiche l'attribut suivi d'un ':' et de la valeur décodée.

Comme vous le constatez, l'utilisation des valeurs capturées est possible.



Le code a été difficile à trouver, c'est pourquoi je le partage :)

mercredi 20 janvier 2016

sed, garder ou retirer des lignes matchant un pattern spécifié

Il est possible d'utiliser sed pour filter des lignes et garder/ne pas garder celles qui matchent un pattern spécifié

Dans l'exemple suivant, on garde ou ne garde pas les lignes contenant le terme ou



Il est tout à fait possible d'utiliser l'option in-place de sed pour travailler sur le fichier lui même.

sed, delete

vendredi 3 mai 2013

awk, trimer des colonnes



awk re regex gsub trim strip space { }

jeudi 22 novembre 2012

mysql, regexp

Pour comptabiliser avec une regexp les numéros appelant valides (non masqués)



select count distinct REGEXP

vendredi 9 novembre 2012

awk, utiliser les intervalles {x,y}

Pour utiliser les intervalles avec awk, il suffit de rajouter l'option --re-interval



awk re regex intervalle { }

mercredi 7 novembre 2012

Vi, rechercher une regexp

Par exemple pour rechercher les occurences say ou play lorsque l'on édite un fchier :

mercredi 10 octobre 2012

bash, vérifier si une variable matche une regexp

On peut facilement vérifier si une donnée contenue dans une variable est au bon format.

Dans l'exemple ci-dessous, on vérifie si le numéro de version fourni est correct.



Dans celui-ci si la valeur contient localhost ou itg



Attention, la regexp n'est pas entre quote ni double-quote.

=~, regexp, re

mercredi 8 août 2012

Bash, pattern substitution

Le manuel bash présente les syntaxes suivantes (voir)
  • ${parameter#word} et ${parameter##word} pour supprimer le plus court et le plus long préfix
  • ${parameter%word} et ${parameter%%word} pour supprimer le plus court et le plus long suffixe
  • ${parameter/pattern/string} pour substituer une chaîne à un pattern.
Il faut savoir que word peut être une regexp dans les 2 premiers cas. Mais il faut surtout savoir que la syntaxe du pattern diffère de celles que l'on connaît généralement... Sur wiki.bash-hackers.org :
?(<PATTERN-LIST>) Matches zero or one occurrence of the given patterns
*(<PATTERN-LIST>) Matches zero or more occurrences of the given patterns
+(<PATTERN-LIST>) Matches one or more occurrences of the given patterns
@(<PATTERN-LIST>) Matches one of the given patterns
!(<PATTERN-LIST>) Matches anything except one of the given patterns
D'où des choses zarbies du genre :
$ shopt -s extglob
$ v="LE temps PASSE vite"
$ echo ${v//+([[:upper:]])} 
temps vite
$ echo ${v%%+([[:lower:]])} 
LE temps PASSE
pattern