Je faisais des petits tests d'expression régulières ce matin et j'avoue que je ne m'explique pas une chose.
Le caractère ? signifie 0 ou 1 occurrence de l'expression recherchée.
Par exemple
correspond à 0 ou 1 caractère "a" dans la chaîne de caractère.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 a?
Donc à priori
devrait me reconnaître et me réécrire ma chaîne "abc" sur le terminal (car je rentre bien dans la condition 0 ou 1 a puisqu'il y en a un dans la chaîne de caractères)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 $ echo "abc" | sed -n '/a?bc/p'
Mais ce n'est pas le cas.
par contre ça ça marche
Comprends plus ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 $ echo "abc" | sed -n '/a*bc/p' abc
Où est l'erreur dans ma réflexion ?
Partager