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

 我来答
百度网友5311d79
2018-01-06 · TA获得超过1.9万个赞
知道大有可为答主
回答量:6356
采纳率:71%
帮助的人:3202万
展开全部
路径"../syslog/tmp/"替换为"/data/syslog/tmp”

首先要搞清楚,转义符\的作用是消除有特殊含义字符的特殊意义,使其还原为普通字符。
sed -i 's/\.\.\/syslog\/tmp\//\/data\/syslog\/tmp/' file.ini
点号.在正则表达式中有其特殊含义(表示任意一个字符),所以要表示点号本身,需要使用转义符。
sed替换命令的格式一般为 s/.../.../ ,所以如果里面的内容也包含 / ,比如你这里的路径,为了区分,也需要转义。

最后说明一下,这样看起来很混乱,比较容易搞错。
其实sed的替换命令格式不一定要是 s/.../.../,下面这样也都可以:
s#...#...#
s_..._..._
即命令s后可以跟任意字符,只要跟替换内容不重复即可。这样,路径里的/就不再需要转义了。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式