119 votes

Échapper aux guillemets doubles dans grep

Je voulais faire un grep pour les mots-clés avec des guillemets doubles à l'intérieur. Pour donner un exemple simple :

echo "member":"time" | grep -e "member\""

Cela ne correspond pas. Comment puis-je le réparer ?

180voto

cmh Points 4290

Le problème est que vous n'échappez pas correctement la chaîne d'entrée, essayez :

echo "\"member\":\"time\"" | grep -e "member\""

Vous pouvez également utiliser des guillemets doubles non codés entre guillemets simples :

echo '"member":"time"' | grep -e 'member"'

C'est une question de préférence, mais la seconde approche vous empêche d'imbriquer votre commande dans un autre ensemble de guillemets simples (par ex. ssh 'cmd' ).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X