我想对带有双引号的关键字进行grep操作。举一个简单的例子:
echo "member":"time" | grep -e "member\""
那不匹配。我该如何解决?
Answers:
问题是您没有正确转义输入字符串,请尝试:
echo "\"member\":\"time\"" | grep -e "member\""
或者,您可以在单引号内使用不转义的双引号:
echo '"member":"time"' | grep -e 'member"'
尽管第二种方法阻止您将命令嵌套在另一组单引号(例如ssh 'cmd'
)中,但您会更清楚地了解到这是一个优先事项。
echo '"member":"time"' |grep -e 'member"'
。两种方法都是有效的,但是我更倾向于显式转义,因为其意图更加明确。
echo '"member":"time"' |grep -e "member"
没有测试