GNT sans publicité, site mobile, fonctionnalitées exclusives...

Rechercher antislash grep

Le
Emmanuel Gillot
Je souhaiterais utiliser grep pour rechercher les antislashs présents
dans fichier.
J'ai réussi a rechercher les doubles antislash par la commande : grep
\\\\, malheureusement je réussi pas a rechercher les antislashs simples
par la commande grep \\, j'ai le message d'erreur suivant :
grep: Barre oblique inverse en suffixe

Est ce que quelqu'un aurait la solution ?
Lire la réponse

Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Matthieu Moy
Le #1869211
Emmanuel Gillot
Je souhaiterais utiliser grep pour rechercher les antislashs présents
dans fichier.
J'ai réussi a rechercher les doubles antislash par la commande : grep
\\,


$ echo ''

$ echo '' | grep \\


... en fait, tu greppais aussi les simples slash.

malheureusement je réussi pas a rechercher les antislashs simples
par la commande grep \,


Du coup, tu as la réponse au dessus.

Quand tu tappes

$ grep \\

dans un shell (disons, bash), le shell fait l'interpretation des
backslash. Il appelle

"grep" "\"

là, grep regarde sons premier argument, deux backslash, et il
interprete que le premier est l'échappement du second. Par exemple, il
aurait pu voir "." et dire que précédé d'un backslash, le point est
simplement un point (alors qu'il aurait matché n'importe quel
caractère sauf n sinon). Donc, au final, il cherche la chaine "".

Pour éviter une partie des ennuis, utilises les guillemets simples,
qui empêchent le shell d'interpreter le contenu :

$ grep '\'

Maintenant, la recherche du double backslash est laissée en exercice,
mais c'est facile !

--
Matthieu

Publicité
Suivre les réponses
Poster une réponse
Anonyme