shell - 能否详细解释一下这条sed命令的含义?

查看:118
本文介绍了shell - 能否详细解释一下这条sed命令的含义?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

请详细解释一下如下sed命令的含义。

文件内容:

# file:  inittab
id:3:initdefault:

命令含义:替换inittab文件中"id:3:initdefault:"一行中的数字为5。

 sed 's@\(id:\)[0-9]\(:initdefault:\)@\15\2@g' inittab

运行结果:

id:5:initdefault:

解决方案

sed中,s表示替换命令
格式如下

sed 's/要被取代的字串/新的字串/g'

其中/可以用@、#等代替,里面采用正则表达式,后面的替代字符串\1、\2...\n表示匹配被取代的字串中用括号括起来的部分。
在此例中'\15\2',其中\1匹配'id:'字串,\2匹配':initdefault:'。

这篇关于shell - 能否详细解释一下这条sed命令的含义?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆