Eu queria fazer grep para palavras-chave com aspas duplas dentro. Para dar um exemplo simples:
echo "member":"time" | grep -e "member\""
Isso não combina. Como posso corrigir isso?
O problema é que você não está escapando corretamente da string de entrada, tente:
echo "\"member\":\"time\"" | grep -e "member\""
Como alternativa, você pode usar aspas duplas sem escape entre aspas simples:
echo '"member":"time"' | grep -e 'member"'
É uma questão de preferência que você achará mais clara, embora a segunda abordagem evite que você aninhe seu comando em outro conjunto de aspas simples (por exemplo ssh 'cmd'
).
echo '"member":"time"' |grep -e "member"
não testeiecho '"member":"time"' |grep -e 'member"'
. Ambas as abordagens são válidas, mas eu prefiro o escape explícito, pois a intenção é mais clara.