【发布时间】:2019-12-08 04:42:57
【问题描述】:
我想对带有双引号的关键字进行 grep。举个简单的例子:
echo "member":"time" | grep -e "member\""
这不匹配。我该如何解决?
【问题讨论】:
我想对带有双引号的关键字进行 grep。举个简单的例子:
echo "member":"time" | grep -e "member\""
这不匹配。我该如何解决?
【问题讨论】:
问题是你没有正确转义输入字符串,试试:
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"'。两种方法都有效,但我更喜欢显式转义,因为意图更明确。