下面返回一组结果,包括包含“->emit”的结果
grep -rnw '/var/www/react' -e ">emit"
但以下结果不返回
grep -rnw '/var/www/react' -e "->emit"
为什么?
最佳答案
您需要删除-w
选项。它说要把这个表达当作一个整体。aword
必须由非单词字符限定,即它只能由[a-zA-Z0-9_]
以外的字符包围。emit
将匹配emit
、_emit
或->emit
,但不匹配remit
。
我猜你的->emit
试图匹配类似于a->emit
的内容,但无法匹配,因为a
是一个word
字符。
关于regex - 连字符是否需要在正则表达式中转义?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41688053/