如何对包含 "->" 的字符串进行 grep
How to grep for a string that includes "->"
我正在单个目录中的所有*.cpp
文件中查找文字字符串->foo
。 如果我尝试
grep -F "->foo" *.cpp
格雷普报告
Invalid option -- '>'
然后,如果我尝试
grep -F "->foo" *.cpp
我得到
Invalid option -- ''
我怎样才能让它工作?
通常(不是grep
特定的)使用 --
表示选项的结束:
grep -F -- "->foo" *.cpp
当您意外创建以 -
开头的文件时很有用:
$ touch -- -damn
$ ls -- -*
-damn
$ rm -damn
rm: invalid option -- 'd'
$ rm -- -damn
试试这个:
grep -e "->foo" *.cpp
从手册页:
-e PATTERN, --regexp=PATTERN
使用 PATTERN 作为模式。这可用于指定多个搜索模式,或保护以连字符 (-) 开头的模式。(-e 由 POSIX 指定。[着重号后加]