在替换正则表达式中使用变量

时间:2019-02-25 12:34:01

标签: regex sed

我已经看过以下内容:

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上运行就可以了。

1 个答案:

答案 0 :(得分:0)

因此,我只需要对sed使用双引号来识别4version变量,然后转义否则会包含双引号。

sed -i -z -e "s/\"version\": \"[A-Za-z0-9_.-]*\"/\"version\": \"$version\"/" package.json