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


你可能感兴趣的:(sed 在特定行 插入特定内容)