我想为内部带双引号的关键字做grep。举一个简单的例子:
echo "member":"time"|grep -e "member\""
那不匹配。如何解决?
答案 0 :(得分:106)
问题是你没有正确地转义输入字符串,请尝试:
echo "\"member\":\"time\"" |grep -e "member\""
或者,您可以在单引号中使用未转义的双引号:
echo '"member":"time"' |grep -e 'member"'
虽然第二种方法阻止您将命令嵌套在另一组单引号中(例如ssh 'cmd'
),但您会更清楚地看到这一点。