Sed删除和添加指定行的上下行的数据

课题一:删除匹配行的上一行和下一行数据

1.删除匹配行的上一行和下一行:

sed -i -e ‘/string/{n;d}‘ -e ‘$!N;/\n.*string/!P;D‘ filename 

2.删除匹配到特定字符所在行的上一行

sed -i -e ‘$!N;/\n.*string/!P;D‘ filename

3.删除匹配到特定字符所在行的下一行

sed -i -e ‘/string/{n;d}‘ filename

4.sed中使用变量,删除匹配行的上一行和下一行:

AA=string     #变量指定匹配字符串
sed -i -e ‘/‘"$AA"‘$/{n;d}‘ -e ‘$!N;/\n.*‘"$AA"‘$/!P;D‘ file

课题二:匹配到字符串所在的行的上一行或者是下一行插入一条数据

a 追加内容 sed ‘/匹配词/a\要加入的内容’ example.file(将内容追加到匹配的目标行的下一行位置)
i 插入内容 sed ‘/匹配词/i\要加入的内容’ example.file 将内容插入到匹配的行目标的上一行位置)

示例:
#我要把文件的包含“chengyongxu.com”这个关键词的行前或行后加入一行,内容为“allow chengyongxu.cn”


1   #行前加
2   sed -i ‘/allow chengyongxu.com/i\allow chengyongxu.cn‘ the.conf.file
3   #行前后
4   sed -i ‘/allow chengyongxu.com/a\allow chengyongxu.cn‘ the.conf.file

给匹配到文件中具体的字符串的下一行插入一行数据:

sed -i ‘/listen/a\   listen 80\;‘   filename

在匹配到特定字符串的某行后批量插入多行数据:

sed -i ‘/syncsendmsg.php/a\#013.平台广告小时计划每5分钟写入主平台 xxx 2019-07-04\n*/5 * * * * /usr/bin/php /data/cron/ptask/countjs_syc_plan_main.php\n*/5 * * * * /usr/bin/php /data/cron/ptask/countjs_syc_plan_h_main.php‘  filename

给匹配到文件中具体的字符串的上一行插入一行数据:

sed -i ‘/listen/i\   listen 80\;‘ filename

课题三:删除匹配到指定字符串所在的行的上一行或者是下一行数据

1、删除指定行的上一行

sed -i -e :a -e ‘$!N;s/.*\n\(.*ServerName abc.com\)/\1/;ta‘ -e ‘P;D‘ file
例如:
[[email protected]_82_178_centos vhost]# grep listen m.afpfpm.cn443.conf
   listen 80;
   listen       443;

删除   listen       443;这一行的上行内容:    listen 80;
sed -i -e :a -e ‘$!N;s/.*\n\(.*listen       443\)/\1/;ta‘ -e ‘P;D‘ m.afpfpm.cn443.conf

2、删除指定字符串之间的内容

sed -i ‘/ServerName abc.com/,/\/VirtualHost/d‘ $file

http://www.linuxso.com/shell/17542.html

生产中nginx配置文件替换字符


sed -i ‘s/#fastcgi_pass/fastcgi_pass/g;s/fastcgi_pass  unix:\/dev\/shm\/php-cgi.sock/#fastcgi_pass  unix:\/dev\/shm\/php-cgi.sock/g‘  m.6saeq.cn443.conf

今天演示到此处,欢迎留言一起交流学习

原文地址:https://blog.51cto.com/wujianwei/2417796

时间: 2024-10-14 05:45:46

Sed删除和添加指定行的上下行的数据的相关文章

jQuery动态添加删除与添加表行代码

具体实现代码如下: table的HTML如下: 代码如下 复制代码 <input type="button" value="添加一行" /><table><tr><td><input type="button" class = "del" value="删除该行"/></td></tr></table> 添加行的

js在指定的table行后添加新行(js实现select数据的填充,添加行,删除行)

<pre><pre><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta htt

第十三部分网格视图:删除新添加的行(尚未存入数据库),原来数据行不删除

步骤:判断该行的状态是否被修改过-->若修改过,则删除:若无修改,则不删除. 代码如下: if (this.dgv_jiaokuan.RowCount > 0)//判断网格视图是否有多行 { DataRow selectedcurrent = ((DataRowView)this.dgv_jiaokuan.CurrentRow.DataBoundItem).Row;//定义一个数据行(selectedcurrent ),为当前选中的行,并赋予该行的值. if (selectedcurrent.

winform 删除,清空指定文件夹上的所有文件或文件夹

//递归删除文件夹及子文件C#代码: public void DeleteFolder(string dir) { if (Directory.Exists(dir)) //如果存在这个文件夹删除之 { foreach (string d in Directory.GetFileSystemEntries(dir)) { if (File.Exists(d)) { File.Delete(d); //直接删除其中的文件 } else DeleteFolder(d); //递归删除子文件夹 } /

sed在指定行上删除和添加字符

欢迎转载!转载时请注明出处:http://blog.csdn.net/nfer_zhuang/article/details/44020599 引言 我在一个项目中需要发布版本,两个客户的需求基本相同,只有是在一个fm34(消回音)模块上一个有该功能,另外一个没有.那么就存在在发版本的时候根据需要打开和关闭关于fm34相关的代码. 其中的一个就是是否需要inmod一个ko文件,我的处理是: 在脚本中有inmod该ko的一行代码,但是默认是被注释掉的 在给需要该功能的客户发布版本时,通过sed将改

js在table指定tr行上或底下添加tr行

js在table指定tr行上或下面添加tr行 function onAddTR(trIndex)         {             var tb = document.getElementById("tb1");             var newTr = tb.insertRow(trIndex);//添加新行,trIndex就是要添加的位置             var newTd1 = newTr.insertCell();             newTd1.

sed 删除最后几行 和删除指定行 awk使用

sed 删除最后几行 和删除指定行 转载原文链接:http://blog.51cto.com/lspgyy/1305489 sed 想删除文件中的指定行,是可以用行号指定也可以用RE来匹配的. 删除指定的行[可以指定行号删除.匹配字符串来删除] [[email protected] ~]# cat -n seq.txt 1 ok i will help you 2 understand sed usage 3 how to use it 4 and we should use it in vie

sed 指定行范围匹配(转)

sed -n '5,10{/pattern/p}' file sed是一个非交互性性文本编辑器,它编辑文件或标准输入 导出的文件拷贝.标准输入可能是来自键盘.文件重定向.字符串或变量,或者是一个管道文件.sed可以随意编辑小或大的文件,有许多sed命令用来编辑. 删除,并允许做这项工作时不在现场.sed一次性处理所有改变,因而变得很有效,对用户来说,最重要的是节 省了时间.sed必须通过行号和正则表达式指定要改变的文本行 sed怎样读取数据:sed从文件的一个文本行或从标准输入的几种格式中读取数

jQuery删除表格指定行代码实例

jQuery删除表格指定行代码实例:本章节介绍一下如何删除表格中指定的行,代码非常的简单,直接上代码: $("table tr").eq(2).remove(); 相关阅读:1.eq()函数可以参阅jQuery的eq()方法一章节.2remove()函数可以参阅jQuery的remove()方法一章节. 原文地址是:http://www.softwhy.com/forum.php?mod=viewthread&tid=13213 更多内容可以参阅:http://www.soft