2013-04-28 55 views
1

我试图在某个目录下的所有文件中找到字符串“5.1”的所有出现。 我使用下面的命令尝试,但它仍然没有找到:如何使用grep和regex查找双引号字符串?

#grep -Re[5]+\.+[1] . 

我在做什么错?

+0

一方面必须有'之间的空间-Re'和模式。然后应该引用你的模式,以保持shell不会碰到'[]'字符范围。 – Jens 2013-04-28 21:00:15

回答

1

你的表情对我没有意义。好像你正在寻找:

grep -R '5\.1' . 

或者,如果你要包括"字符:

grep -R '"5\.1"' . 

但我没有看到有关这些在你的原职事情,所以它的很难说。

0

寻找一个固定的字符串递归将

grep -fR '"5.1"' . 

(如果你真的意味着包括双引号)。

请注意,-R选项不是POSIX,因此可能无法使用。在这种情况下,便携的解决方案是

find . -type f | xargs grep -f '"5.1"' 
3

你并不需要,电子正则表达式,那么fgrep一样简单构造,并执行快捷

fgrep -R '"5.1"' . 
相关问题