我正在阅读该手册页,并找到了this博文,两者似乎都说了同样的话,但它不起作用。
我有一个项目,我需要批量替换像
这样的行import Foo from '/modules/foo/client/components/Foo.jsx';
到
import Foo from '/modules/foo/client/imports/Foo.jsx';
但我不想匹配以下行:
import Base from '/client/components/Base.jsx';
即。 :仅从基础目录/modules
“进口”。
我试过了
$ grep -R "modules.+components" modules/
但找不到匹配。
任何有关此的帮助将不胜感激。谢谢!
答案 0 :(得分:1)
默认情况下,grep
将模式解释为基本正则表达式(BRE)(未扩展-E
),并按字面意思处理某些正则表达式元字符。因此+
在您当前的方法中没有特殊含义。
任何具有特殊含义的元字符都可以在它之前引用 用反斜杠。
grep -R "modules.\+components" modules/
https://www.gnu.org/software/grep/manual/grep.html#index-grep-programs
关于 BRE : https://www.regular-expressions.info/posix.html#bre