Regex : négation chaine
Résolu/Fermé2 réponses
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 407
7 oct. 2013 à 12:22
7 oct. 2013 à 12:22
Salut,
A mon avis il faut que tu sépares en deux ton test. Un premier pour tester
A mon avis il faut que tu sépares en deux ton test. Un premier pour tester
[;>]et un second pour le pipe (
|). Puis si le pipe est intercepté, tu vérifies s'il est suivi ou non d'un
grep...
$ echo "blibli | grep blabla" | egrep -o '\| *grep'
| grep
$ echo "blibli |grep blabla" | egrep -o '\| *grep'
|grep
$ echo "blibli |sed blabla" | egrep -o '\| *grep'
$
dubcek
Messages postés
18718
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
22 mars 2024
5 615
8 oct. 2013 à 12:51
8 oct. 2013 à 12:51
hello
essayer avec grep, à vérifier
essayer avec grep, à vérifier
$ params='|grep'
$ [[ $(grep -P '[;>]|\|(?!grep)' <<<"$params") ]]&& echo stop ||echo ok
ok
$ params='|fgrep'
$ [[ $(grep -P '[;>]|\|(?!grep)' <<<"$params") ]] && echo stop || echo ok
stop
$ params='|'
$ [[ $(grep -P '[;>]|\|(?!grep)' <<<"$params") ]] && echo stop || echo ok
stop
$ params='a>'
$ [[ $(grep -P '[;>]|\|(?!grep)' <<<"$params") ]] && echo stop || echo ok
stop
$ params='|grap'
$ [[ $(grep -P '[;>]|\|(?!grep)' <<<"$params") ]] && echo stop || echo ok
stop
$
8 oct. 2013 à 00:26
Par contre, il faudra que je prenne en compte le fait qu'il peut y avoir plusieurs caractères | un suivit de grep et un autre avec autre chose.
Merci pour votre réponse