Re: regex en bash
On 2017-12-21 18:13 +0100, Daniel Caillibaud wrote:
> Je sais que bash a un opérateur =~ pour les regex, mais j'ai
> du mal à faire ce que je veux avec et je continue avec sed /
> awk / grep,
>
> Mais faire du
> [[ -z "$(echo $truc | sed -Ee 's/ma regex//')" ]]
> est assez idiot quand on pourrait faire du
> [[ "$truc" =~ 'ma regex' ]]
Même si ça rentre probablement dans votre catégorie "assez
idiot", je tiens à signaler l'existence de la commande expr(1)
qui a l'avantage de fonctionner sur tout Unix. Contrairement à
quelque solution reposant sur Bash, Zsh ou l'option -E de sed
qui non seulement n'est pas standard mais n'est même pas
documentée. Ce qui est, comme chacun sait, toujours un bon
signe. :->
Si la regexp commence par "^"
expr "$truc" : 'ma_regexp' >/dev/null
sinon
expr "$truc" : '.*ma_regexp' >/dev/null
--
André Majorel <http://www.teaser.fr/~amajorel/>
bugs.debian.org, an essential online resource for spammers.
Reply to: