sed和转义bash变量的冒险旅程

亚历克斯

DEST_PATH='/var/www/clones'
site='xyz.com'

sed -i -e "s/\$log_path\s=\s'\(.*\)'/\$log_path = '$DEST_PATH\/$site\/logs'/" $DEST_PATH/$site/configuration.php

问题是第一个变量中的正斜杠,因为这是正在处理并返回错误:

sed -i -e "s/\$log_path\s=\s'\(.*\)'/\$log_path = '/var/www/clones\/xyz.com\/logs'/"  configuration.php

这实际上是应该运行的时间:

sed -i -e "s/\$log_path\s=\s'\(.*\)'/\$log_path = '\/var\/www\/clones\/xyz.com\/logs'/"  configuration.php

所以我知道,我可以替换所有的/内部$DEST_PATH,然后sed再次运行,但是我想知道您是否知道或可以想到任何其他/更好的方法。理想情况下,如果可能sed'$DEST_PATH/$site/logs',可能会自动转义

罗伯托·雷亚莱(Roberto Reale)

您是否正在使用足够现代的版本sed(例如GNU sed)?这样就不需要使用/来分隔模式和替换。任何角色都可以。

例如,您可以使用

s,pattern,substitution,

代替

s/pattern/substitution/

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Bash转义脚本和sed捕获组

来自分类Dev

sed bash脚本变量中的转义问号字符

来自分类Dev

在bash和qmake中转义变量的双引号

来自分类Dev

通过ssh命令在sed中转义$变量?

来自分类Dev

bash和ansi转义码

来自分类Dev

bash可以将带引号和/或转义的字符串变量扩展为单词吗?

来自分类Dev

sed和变量

来自分类Dev

停止在bash变量中转义正斜杠

来自分类Dev

bash脚本curl请求中的转义变量

来自分类Dev

转义>');} </ in sed

来自分类Dev

用sed处理bash变量

来自分类Dev

用sed修改bash变量

来自分类Dev

如何转义变量以与sed一起使用?

来自分类Dev

如何在sed中转义字符串变量?

来自分类Dev

无法在sed命令的变量中使用转义序列

来自分类Dev

select()系统调用和bash转义

来自分类Dev

如何在bash中转义`$`和`#`符号?

来自分类Dev

在awk和bash脚本中转义

来自分类Dev

Bash转换sed的路径名,以便它们转义

来自分类Dev

sed 将所有必要的 bash 转义插入文件路径

来自分类Dev

sed和变量包含XML

来自分类Dev

bash和sed:用for循环替换变量中的多个字符串

来自分类Dev

在Bash脚本中将命令行参数和变量与sed一起使用

来自分类Dev

使用sed和regex更改bash中不包括变量的每个符号

来自分类Dev

使用sed时保留转义序列和颜色

来自分类Dev

使用sed转义正斜线和反斜线

来自分类Dev

本地存储和Internet Explorer 9冒险

来自分类Dev

文字冒险,保存游戏和功能问题

来自分类Dev

如何转义bash脚本中用curl发布的JSON变量?