sed用引号替换字符串

艾里斯

我是Linux和Bash的新手。

我正在尝试用另一条替换一行,但我不知道如何正确使用sed:

旧行:

"certificate_path": "/etc/ajenti/ajenti.pem"

新队:

"certificate_path": "/etc/nginx/ssl/xyz-combined.pem"

我试过了:

sed -i '26s/.*//etc/nginx/ssl/xyz.de-combined.pem"/' /etc/ajenti/config.json

最好的问候,Aeris

乐宝

结合使用sed和backreference

sed -i 's~\("certificate_path": "/etc/\)ajenti/ajenti.pem"~\1ssl/xyz-combined.pem"~' /etc/ajenti/config.json

新旧字符串的共同部分用方括号("certificate_path": "/etc/捕获,并使用\1对新路径的反向引用进行前缀nginx/ssl/xyz-combined.pem"

编辑:

要在替换字符串中使用变量,只需将变量名称括在单引号中即可进行参数扩展:

mydomain="xyz-combined.pem"
sed -i 's~\("certificate_path": "/etc/\)ajenti/ajenti.pem"~\1ssl/'$mydomain'"~' /etc/ajenti/config.json

您还可以用双引号将sed命令括起来,并转义所有内部双引号:

sed -i "s~\(\"certificate_path\": \"/etc/\)ajenti/ajenti.pem\"~\1ssl/$mydomain\"~" /etc/ajenti/config.json

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

SED:单引号后替换字符串

来自分类Dev

bash-用sed替换字符串

来自分类Dev

Bash:用引号替换字符串(错误的替换错误)

来自分类Dev

用sed替换方括号之间的字符串

来自分类Dev

用sed脚本替换字符串

来自分类Dev

使用sed用bash变量替换双引号中的字符串

来自分类Dev

用sed替换字符串

来自分类Dev

用sed替换多行字符串

来自分类Dev

sed用管道和星号替换字符串

来自分类Dev

sed脚本,仅用字符串替换双引号宏参数字符串

来自分类Dev

sed-用分组替换字符串

来自分类Dev

sed用包含嵌套引号的字符串替换行号处的整行

来自分类Dev

sed用boolean替换带引号的字符串吗?

来自分类Dev

用sed替换包含&&的字符串

来自分类Dev

使用多行带引号的字符串替换sed参数

来自分类Dev

sed用某些字符串替换多个模式

来自分类Dev

sed错误,用变量替换部分字符串

来自分类Dev

sed用变量替换字符串?

来自分类Dev

用sed替换子字符串

来自分类Dev

sed用替换字符串。并替换字符串have。也

来自分类Dev

用sed替换字符串

来自分类Dev

sed用引号替换字符串

来自分类Dev

在sed替换字符串中转义'(单引号)

来自分类Dev

sed用空格替换字符串

来自分类Dev

使用sed选择性地用引号替换字符串

来自分类Dev

Javascript用空字符串替换单引号

来自分类Dev

sed 用数字特殊字符替换字符串

来自分类Dev

用 / 字符替换字符串的 sed 命令

来自分类Dev

sed 用空格和特殊字符替换字符串