Utilisation expression régulière avec grep

Résolu
CrazyGeekMan Messages postés 873 Date d'inscription   Statut Membre Dernière intervention   -  
CrazyGeekMan Messages postés 873 Date d'inscription   Statut Membre Dernière intervention   -
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

zipe31 Messages postés 36402 Date d'inscription   Statut Contributeur Dernière intervention   6 430
 
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
CrazyGeekMan Messages postés 873 Date d'inscription   Statut Membre Dernière intervention   139
 



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
zipe31 Messages postés 36402 Date d'inscription   Statut Contributeur Dernière intervention   6 430
 
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
CrazyGeekMan Messages postés 873 Date d'inscription   Statut Membre Dernière intervention   139 > zipe31 Messages postés 36402 Date d'inscription   Statut Contributeur Dernière intervention  
 
Mais donc vous auriez pu aussi écrire
grep \\be fich
0
zipe31 Messages postés 36402 Date d'inscription   Statut Contributeur Dernière intervention   6 430 > CrazyGeekMan Messages postés 873 Date d'inscription   Statut Membre Dernière intervention  
 
Oui, 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
CrazyGeekMan Messages postés 873 Date d'inscription   Statut Membre Dernière intervention   139 > zipe31 Messages postés 36402 Date d'inscription   Statut Contributeur Dernière intervention  
 
C'est vrai :)
Merci :)
0
CrazyGeekMan Messages postés 873 Date d'inscription   Statut Membre Dernière intervention   139 > CrazyGeekMan Messages postés 873 Date d'inscription   Statut Membre Dernière intervention  
 
Malheureusement 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