sed 在特定行 插入特定内容


sed -i '/add specific/a\ hello(0);' App.c


上面的命令可以在 app.c中的包含有add specific行的下面,插入“hello(0)”这句话。



上面的命令在插入内容后会新建一行。

如果你就只想在行尾插入的话可以使用

sed 's/^PRJ_OBJS.*$/& \.\.\/netserver/g' Makefile
 

这条命令的意思是在  以 PRJ_OBJS 开头的行的结尾处插入  “ ../netserver” 字符。其中"../netserver"的"../",分别使用"\"转义了以保证它的正确性。

 

 

SED学习笔记 应该是天水师范大学的老师写的吧:

 链接已经失效:(

http://www.tsnc.edu.cn/default/tsnc_wgrj/doc/sed.htm

下面是一个例子:

关于可以在特定行插入特定内容,替换特定行的内容。

第一个sed命令是在以passwrod开头的行前面加入特定内容A。

第二个是把当前找到的特定行替换为内容A。

#!/bin/bash
A="password	required	/lib64/security/pam_cracklib.so retry=3 minlen=12 difok=3 ucredit=1 lcredit=2 dcredit=1 ocredit=1"
if ! grep pam_cracklib.so $1 >/dev/null ; then
	echo NO
	sed -i "/^password/i\\${A}" $1
else
	echo YES 
	sed -i "s#.*pam_cracklib.so.*#${A}#" $1
	:
fi


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值