J'utilise le grep de cygwin sous windows et je suis tombé sur l'erreur
"trailing backslash" en tapant quelque chose comme grep -E "\\" fichier
Par contre grep -E "\\toto" fichier ne fait pas l'erreur et trouve bien
"\toto".
J'ai donc le sentiment que le problème vient du fait que le \" à la fin est
interprété bizarrement alors que mon intention était "d'échapper" le
caractère "\".
Qui pourrait m'expliquer ce qu'il se passe ? Et me dire quelle est la bonne
syntaxe pour rechercher "\". J'ai déjà vu que "\\\\" a l'air de marcher mais
je ne comprends pas pourquoi...
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Fred
Salut,
J'utilise le grep de cygwin sous windows et je suis tombé sur l'erreur "trailing backslash" en tapant quelque chose comme grep -E "" fichier Par contre grep -E "toto" fichier ne fait pas l'erreur et trouve bien "toto".
J'ai donc le sentiment que le problème vient du fait que le " à la fin est interprété bizarrement alors que mon intention était "d'échapper" le caractère "".
Qui pourrait m'expliquer ce qu'il se passe ? Et me dire quelle est la bonne syntaxe pour rechercher "". J'ai déjà vu que "\" a l'air de marcher mais je ne comprends pas pourquoi...
Merci !
Essaie grep -E ''
Les différents programmes (shell, grep...) interprètent chacun le backslash comme un caractère de banalisation. Le fait d'utiliser les doubles quotes n'inhibe pas l'interprétation faite par le shell. Donc le shell voit et l'interprète comme un seul et le passe en paramètre à grep qui attend le caractère suivant. En utilisant des simples quotes, on supprime l'interprétation par le shell. Dans le cas du "toto", le shell passe toto à grep et comme t n'a pas de signification particulière pour grep (ça ne représente pas TAB), il l'interprète bien t "\" marche aussi car le shell l'interprète , le passe à grep qui l'interprète Voilà, voilà A+ Fred
Salut,
J'utilise le grep de cygwin sous windows et je suis tombé sur l'erreur
"trailing backslash" en tapant quelque chose comme grep -E "\" fichier
Par contre grep -E "\toto" fichier ne fait pas l'erreur et trouve bien
"toto".
J'ai donc le sentiment que le problème vient du fait que le " à la fin est
interprété bizarrement alors que mon intention était "d'échapper" le
caractère "".
Qui pourrait m'expliquer ce qu'il se passe ? Et me dire quelle est la bonne
syntaxe pour rechercher "". J'ai déjà vu que "\\" a l'air de marcher mais
je ne comprends pas pourquoi...
Merci !
Essaie
grep -E '\'
Les différents programmes (shell, grep...) interprètent chacun le
backslash comme un caractère de banalisation. Le fait d'utiliser les
doubles quotes n'inhibe pas l'interprétation faite par le shell.
Donc le shell voit \ et l'interprète comme un seul et le passe en
paramètre à grep qui attend le caractère suivant.
En utilisant des simples quotes, on supprime l'interprétation par le shell.
Dans le cas du "\toto", le shell passe toto à grep et comme t n'a pas
de signification particulière pour grep (ça ne représente pas TAB), il
l'interprète bien t
"\\" marche aussi car le shell l'interprète \, le passe à grep qui
l'interprète
Voilà, voilà
A+
Fred
J'utilise le grep de cygwin sous windows et je suis tombé sur l'erreur "trailing backslash" en tapant quelque chose comme grep -E "" fichier Par contre grep -E "toto" fichier ne fait pas l'erreur et trouve bien "toto".
J'ai donc le sentiment que le problème vient du fait que le " à la fin est interprété bizarrement alors que mon intention était "d'échapper" le caractère "".
Qui pourrait m'expliquer ce qu'il se passe ? Et me dire quelle est la bonne syntaxe pour rechercher "". J'ai déjà vu que "\" a l'air de marcher mais je ne comprends pas pourquoi...
Merci !
Essaie grep -E ''
Les différents programmes (shell, grep...) interprètent chacun le backslash comme un caractère de banalisation. Le fait d'utiliser les doubles quotes n'inhibe pas l'interprétation faite par le shell. Donc le shell voit et l'interprète comme un seul et le passe en paramètre à grep qui attend le caractère suivant. En utilisant des simples quotes, on supprime l'interprétation par le shell. Dans le cas du "toto", le shell passe toto à grep et comme t n'a pas de signification particulière pour grep (ça ne représente pas TAB), il l'interprète bien t "\" marche aussi car le shell l'interprète , le passe à grep qui l'interprète Voilà, voilà A+ Fred