Cela ne génère aucune sortie. Comment venir?
$ echo 'this 1 2 3' | grep '\d\+'
Mais ceux-ci font:
$ echo 'this 1 2 3' | grep '\s\+'
this 1 2 3
$ echo 'this 1 2 3' | grep '\w\+'
this 1 2 3
\+
? Qu'est-ce que ça veut dire?
+
dans un regex signifie "un ou plusieurs des jetons précédents". Dans ce cas, il est échappé car c'est la syntaxe requise par grep
le moteur d'expression régulière par défaut de.
+
doit être échappé si vous utilisez grep
; si vous utilisez egrep
, ce n'est pas le cas. grep -E
équivaut à egrep
(au moins pour la version GNU).