linux中sed命令如何运用‘ ’ 反斜杠

linux中sed命令如何运用‘ ’ 反斜杠,第1张

路径"../syslog/tmp/"替换为"/data/syslog/tmp”

首先要搞清楚,转义符\的作用是消除有特殊含义字符的特殊意义,使其还原为普通字符。

sed -i 's/\.\.\/syslog\/tmp\//\/data\/syslog\/tmp/' file.ini

点号.在正则表达式中有其特殊含义(表示任意一个字符),所以要表示点号本身,需要使用转义符。

sed替换命令的格式一般为 s/.../.../ ,所以如果里面的内容也包含 / ,比如你这里的路径,为了区分,也需要转义。

最后说明一下,这样看起来很混乱,比较容易搞错。

其实sed的替换命令格式不一定要是 s/.../.../,下面这样也都可以:

s#...#...#

s_..._..._

即命令s后可以跟任意字符,只要跟替换内容不重复即可。这样,路径里的/就不再需要转义了。

sed替换命令的结构为: s/A/B/

你在最后少了个斜杠/,结构不完整,会报错。

修改为:

A=hello

ar=$(date "+%Y%m%d")

echo A | sed "s/he/$Var/"


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11757891.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存