我已经看过以下内容:
Escape a string for a sed replace pattern
Is it possible to escape regex metacharacters reliably with sed
他们绝对没有容易理解的答案。
version=1.2.3
sed -i -z -e 's/"version": "[A-Za-z0-9_.-]*"/"version": "$(version)"/' package.json
我正在尝试在文件的替换正则表达式中使用变量。我不必一定要使用sed,只要它可以在macs和linux dists上运行就可以了。
答案 0 :(得分:0)
因此,我只需要对sed使用双引号来识别4version变量,然后转义否则会包含双引号。
sed -i -z -e "s/\"version\": \"[A-Za-z0-9_.-]*\"/\"version\": \"$version\"/" package.json