在grep中逃脱双引号

Qia*_* Li 77 linux shell

我想为内部带双引号的关键字做grep.举个简单的例子:

echo "member":"time"|grep -e "member\""
Run Code Online (Sandbox Code Playgroud)

那不匹配.怎么解决?

cmh*_*cmh 115

问题是您没有正确转义输入字符串,请尝试:

echo "\"member\":\"time\"" |grep -e "member\""
Run Code Online (Sandbox Code Playgroud)

或者,您可以在单引号内使用未转义的双引号:

echo '"member":"time"' |grep -e 'member"'
Run Code Online (Sandbox Code Playgroud)

虽然第二种方法阻止您将命令嵌套在另一组单引号中(例如ssh 'cmd'),但您可以更清楚地看到这一点.