Sed删除和添加指定行的上下行的数据
发布时间:2020-12-13 23:11:55 所属栏目:Linux 来源:网络整理
导读:课题一:删除匹配行的上一行和下一行数据 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.删除匹配到特定字符所在
课题一:删除匹配行的上一行和下一行数据
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(将内容追加到匹配的目标行的下一行位置) 1 #行前加 2 sed -i ‘/allow chengyongxu.com/iallow chengyongxu.cn‘ the.conf.file 3 #行前后 4 sed -i ‘/allow chengyongxu.com/aallow chengyongxu.cn‘ the.conf.file 给匹配到文件中具体的字符串的下一行插入一行数据: sed -i ‘/listen/a listen 80;‘ filename 在匹配到特定字符串的某行后批量插入多行数据: sed -i ‘/syncsendmsg.php/a#013.平台广告小时计划每5分钟写入主平台 xxx 2019-07-04n*/5 * * * * /usr/bin/php /data/cron/ptask/countjs_syc_plan_main.phpn*/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 今天演示到此处,欢迎留言一起交流学习 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
热点阅读