大家晚上好。
我正在尝试使用Unix sed脚本替换*.js
文件中的路径。我编写了正确的正则表达式,sed没有报错,但是我无法得到正确的结果。
更新:我正在使用macOS。
输入字符串:import * as module from "/test"
我的正则表达式:
\s\*import(.+)from\s+\['\\"\](\\/.+)[^\n]+
这是一个找到路径模式并返回两个我所需要的组(* as module
和 /test.js
)的代码。
例如,我需要将 import \* as module from "/test"
改为 import \* as module from "/myFolder/test.js"
。
然而,我的Bash命令
echo 'import * as module from "/test.js"' |
sed -r "s:\s*import(.+)from\s+['\"](\/.+)[^\n]+:import \1 from \"\/myFolder\2\":g "
返回原始字符串!请问,它有什么问题吗?
sed -r
,这是gnu awk中使用的。 - anubhava