sed 在行首或者行尾添加文本

sed在行首添加注释
匹配1111的行 并在行首添加# 注释

sed -i '/1111/s/^/#/' /root/test.sh

匹配1111的行 并在行尾添加 #

sed -i '/1111/s/$/#/' /root/test.sh

匹配1111的行并删除首行字符#

sed -i '/1111/s/^#//'  /root/test.sh

^ 代表行首
$ 代表行尾

也有这一种写法

sed -i '/1111/s/^/#&/' /root/test.sh

这里和上面的删除操作唯一的不同就在于s/^/#&/部分。其中,^字符匹配行首,#字符是一般字符表示添加该字符,&字符是我们这里需要重点关心的。在上面的关于s/regexp/replacement/命令描述时有以下字段:

The replacement may contain the special character & to refer to that portion of the pattern space which matched, and the special escapes \1 through \9 to refer to the corresponding matching sub-expressions in the regexp.

这里提到了两种特殊字符:

&:refer to that portion of the pattern space which matched,即表示前面的正则表达式匹配出来的部分,而在这里指的就是行首位置。实际上在此处我们完全可以不要&字符,也是可以完成任务的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

怪兽在此

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值