如何grep包含“ - >”的字符串

时间:2012-12-17 20:08:40

标签: c++ grep

我在单个目录中的所有->foo文件中查找文字字符串*.cpp。如果我试试

grep -F "->foo" *.cpp

grep报道

Invalid option -- '>'

然后,如果我尝试

grep -F "-\>foo" *.cpp

我得到了

Invalid option -- '\'

我怎样才能使这个工作?

2 个答案:

答案 0 :(得分:5)

试试这个:

grep -e "->foo" *.cpp

来自man page

  
    

-e PATTERN, - regexp = PATTERN
    使用PATTERN作为模式。这可用于指定多个搜索模式,或保护以连字符( - )开头的模式。 (-e由POSIX指定。)[强调添加]

  

答案 1 :(得分:5)

通常(不是grep特定的)使用--表示选项的结束:

grep -F -- "->foo" *.cpp

当您意外创建以-开头的文件时有用:

$ touch -- -damn 

$ ls -- -*
-damn

$ rm -damn
rm: invalid option -- 'd'

$ rm -- -damn