Utilisation expression régulière avec grep

Résolu
Bonjour,

Je cherche à comprendre comment utiliser \b avec grep.
Soit le fichier tel que
$cat X

Je suis en train de regarder un eventail
Lorsqu'on tape :
cat X | grep --colour=auto \be

Aucun résultat...
\b affiche la chaîne se trouvant en limite de mot, le e de Je devrait être en rouge normalement.
Pourquoi ce n'est pas le cas?

Merci pour vos réponses :)

2 réponses

  1. Contributeur
    Salut,

    Quelle distrib ? Quel shell ? Quelle version de grep ?

    Chez moi :
    $ lsb_release -ir
    Distributor ID: LinuxMint
    Release: 17.3

    $ bash --version
    GNU bash, version 4.3.11(1)-release (x86_64-pc-linux-gnu)

    $ grep --version
    grep (GNU grep) 2.16


    1


    1. Je pense que le problème viens du fait que je n'ai pas déspécialisé le \ avec les guillemets. ^^ Merci pour votre aide ! :D
      0
      1. Contributeur
        Extrait du man grep¹ :

        Any meta-character with special meaning may be quoted by preceding it with a backslash.


        ¹ La consultation des pages de man doit devenir un réflexe si tu veux persévérer dans l'utilisation du terminal.
        0
      2. @zipe31Mais donc vous auriez pu aussi écrire
        grep \\be fich
        0
      3. Contributeur
        @CrazyGeekManOui, mais le plus simple reste quand même de quoter les expressions régulières.

        Quand on commence à tout protéger avec des anti-slahs, ça devient vite imbuvable ;-(
        0
      4. @zipe31C'est vrai :)
        Merci :)
        0
      5. @CrazyGeekManMalheureusement je ne comprend pas encore un exemple avec grep... :
        cat X

        aaad
        grep "a+b*c?d" X

        Rien ne s'affiche ...
        Normalement le aaad devrait s'afficher en rouge car il y a 1 a ou plus, b 0 ou plus, c 0 ou une fois et un d.
        Pourquoi cela ne marche pas?
        0