我有一个有效的 RegEx 模式,可以捕获三组字符串。我试图在 sed 脚本中使用它来执行查找和替换操作,但我不断收到以下错误:
sed: -e expression #1, char 49: Unmatched ( or \(
我的脚本如下所示:
#!/usr/bin/env bash
pattern="^.*(require\(require\()(.+)(\);$)"
replace="require(\2;"
sed -i "s/$pattern/$replace/g" /usr/lib/node_modules/deployd/lib/type-loader.js
我正在尝试编辑的文件有一行内容:
var c = require(require('path').resolve(path) + '/node_modules/' + file);
...我想要的结果是:
var c = require('path').resolve(path) + '/node_modules/' + file;
我在这里确认了我的 RegEx:http ://regex101.com/r/qO4jE5/1
...并在这里仔细检查:http ://regexraptor.net/
知道我做错了什么吗?