Échapper à la double quote dans grep
Je voulais faire un grep pour les mots clés avec des guillemets à l'intérieur. Pour donner un exemple simple:
echo "member":"time"|grep -e "member\""
Qui ne correspond pas. Comment résoudre ce problème?
Vous devez vous connecter pour publier un commentaire.
Le problème, c'est que vous n'êtes pas correctement s'échapper de la chaîne d'entrée, essayez:
Alternativement, vous pouvez utiliser sans échappement des guillemets à l'intérieur des guillemets simples:
C'est une question de préférence dont vous trouverez plus clair bien que la deuxième approche ne vous empêche de nidification de votre commande à l'intérieur d'un autre ensemble de guillemets simples (par exemple,
ssh 'cmd'
).echo '"member":"time"' |grep -e "member"
n'ai pas fait de testecho '"member":"time"' |grep -e 'member"'
. Les deux approches sont valables, mais je préfère explicite échapper, parce que l'intention est de plus en plus clair.