Saya ingin melakukan grep untuk kata kunci dengan tanda kutip ganda di dalamnya. Sebagai contoh sederhana:
echo "member":"time" | grep -e "member\""
Itu tidak cocok. Bagaimana cara memperbaikinya?
Masalahnya adalah Anda tidak keluar dengan benar dari string input, coba:
echo "\"member\":\"time\"" | grep -e "member\""
Alternatifnya, Anda dapat menggunakan tanda kutip ganda tanpa konversi karakter dalam tanda kutip tunggal:
echo '"member":"time"' | grep -e 'member"'
Ini adalah masalah preferensi yang menurut Anda lebih jelas, meskipun pendekatan kedua mencegah Anda menempatkan perintah Anda di dalam kumpulan tanda kutip tunggal lainnya (misalnya ssh 'cmd'
).
echo '"member":"time"' |grep -e "member"
tidak mengujiecho '"member":"time"' |grep -e 'member"'
. Kedua pendekatan tersebut valid, tetapi saya lebih memilih pelolosan eksplisit, karena tujuannya lebih jelas.