Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux grep中的转义双引号_Linux_Shell - Fatal编程技术网

Linux grep中的转义双引号

Linux grep中的转义双引号,linux,shell,Linux,Shell,我想对里面有双引号的关键词进行grep。举一个简单的例子: echo "member":"time" | grep -e "member\"" 这不匹配。如何修复它?问题是您没有正确转义输入字符串,请尝试: echo "\"member\":\"time\"" | grep -e "member\"" 或者,您可以在单引号中使用未加修饰的双引号: echo '"member":"time"' | grep -e 'member"' 虽然第二种方法阻止您将命令嵌套在另一组单引号中(例如,ss

我想对里面有双引号的关键词进行grep。举一个简单的例子:

echo "member":"time" | grep -e "member\""

这不匹配。如何修复它?

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

echo "\"member\":\"time\"" | grep -e "member\""
或者,您可以在单引号中使用未加修饰的双引号:

echo '"member":"time"' | grep -e 'member"'

虽然第二种方法阻止您将命令嵌套在另一组单引号中(例如,
ssh'cmd'
),但您会发现这是一个更清楚的偏好问题。

这会起作用吗<代码>echo's“member”:“time”| grep-e“member”几乎没有测试。它需要是
echo'“member”:“time”| grep-e“member”
。这两种方法都是有效的,但我更喜欢显式转义,因为目的更明确。是的,如果你喜欢,可以编辑你的答案。可能有人更喜欢这个(+1)这个(使用反斜杠)对我来说,在Windows上不起作用。实际上它部分起作用,但我无法将输出重定向到文件。@RadimCernej我建议问一个Windows特定的问题-这似乎超出了本文的范围。