Volevo fare grep per le parole chiave con virgolette doppie all'interno. Per fare un semplice esempio:
echo "member":"time" | grep -e "member\""
Quello non corrisponde. Come posso ripararlo?
Risposte:
Il problema è che non stai eseguendo correttamente l'escape della stringa di input, prova:
echo "\"member\":\"time\"" | grep -e "member\""
In alternativa, puoi utilizzare virgolette doppie senza caratteri di escape all'interno di virgolette singole:
echo '"member":"time"' | grep -e 'member"'
È una questione di preferenze che trovi più chiara, sebbene il secondo approccio ti impedisca di annidare il tuo comando all'interno di un altro insieme di virgolette singole (ad esempio ssh 'cmd'
).
echo '"member":"time"' |grep -e 'member"'
. Entrambi gli approcci sono validi, ma preferisco l'escape esplicita, poiché l'intento è più chiaro.
echo '"member":"time"' |grep -e "member"
non ha testato