免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1319 | 回复: 4
打印 上一主题 下一主题

[文本处理] sed 删除匹配行的另一个匹配行。 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2018-08-01 18:05 |只看该作者 |倒序浏览
本帖最后由 fenzao 于 2018-08-01 18:08 编辑

文本:
server {
                listen 80;
    listen 443 ssl;
    server_name b.com;
    location / {
        proxy_pass http://172.16.64.9:8098;
       #proxy_redirect off;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass_request_headers              on;
        client_max_body_size 200m;
        client_body_buffer_size 1280k;
        proxy_connect_timeout 300;
        proxy_send_timeout 300;
        proxy_read_timeout 300;
        proxy_buffer_size 4k;
        proxy_buffers 4 32k;
        proxy_busy_buffers_size 64k;
        proxy_temp_file_write_size 64k;
    }
}
server {
    listen 443 ssl;
    listen 80;
    server_name a.com;

    location / {
        proxy_pass http://172.16.64.9:80;
        proxy_redirect off;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass_request_headers              on;
        client_max_body_size 200m;
        client_body_buffer_size 1280k;
        proxy_connect_timeout 300;
        proxy_send_timeout 300;
        proxy_read_timeout 300;
        proxy_buffer_size 4k;
        proxy_buffers 4 32k;
        proxy_busy_buffers_size 64k;
        proxy_temp_file_write_size 64k;
    }
}
server {
    listen 443 ssl;
    listen 80;
    server_name a.com;

    location / {
        proxy_pass http://172.16.64.9:8096;
        proxy_redirect off;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass_request_headers              on;
        client_max_body_size 200m;
        client_body_buffer_size 1280k;
        proxy_connect_timeout 300;
        proxy_send_timeout 300;
        proxy_read_timeout 300;
        proxy_buffer_size 4k;
        proxy_buffers 4 32k;
        proxy_busy_buffers_size 64k;
        proxy_temp_file_write_size 64k;
    }
}



如何使用sed 删除匹配a.com域名的  listen 80 , listen 80可能在上一行 ,也可能在上两行。



论坛徽章:
25
程序设计版块每日发帖之星
日期:2016-05-03 06:20:0015-16赛季CBA联赛之八一
日期:2018-07-05 10:34:09黑曼巴
日期:2018-07-06 15:19:5015-16赛季CBA联赛之佛山
日期:2018-08-03 13:19:3315-16赛季CBA联赛之山西
日期:2018-08-07 19:46:2315-16赛季CBA联赛之广夏
日期:2018-08-08 19:31:5015-16赛季CBA联赛之青岛
日期:2018-11-26 15:21:5015-16赛季CBA联赛之上海
日期:2018-12-11 09:45:3219周年集字徽章-年
日期:2020-04-18 23:54:5215-16赛季CBA联赛之深圳
日期:2020-04-19 21:40:19黑曼巴
日期:2022-04-03 17:55:1315-16赛季CBA联赛之八一
日期:2018-07-03 16:56:46
2 [报告]
发表于 2018-08-03 19:16 |只看该作者
回复 1# fenzao

  1. awk '/listen 80/{a=1;b=NR}/server_name a.com/{c=1}/location/{a=c=0}{d[NR]=$0;if(a&&c){delete d[b]}}END{for(i in d){print d[i]}}' file
复制代码

论坛徽章:
24
申猴
日期:2014-10-10 15:56:39射手座
日期:2014-10-10 15:57:18黑曼巴
日期:2018-05-14 11:05:122016科比退役纪念章
日期:2018-05-14 11:05:0715-16赛季CBA联赛之北控
日期:2018-05-14 11:05:0015-16赛季CBA联赛之江苏
日期:2017-02-27 18:11:0715-16赛季CBA联赛之上海
日期:2018-08-15 09:48:5415-16赛季CBA联赛之佛山
日期:2018-07-20 17:14:2315-16赛季CBA联赛之佛山
日期:2019-09-10 18:08:4615-16赛季CBA联赛之山西
日期:2020-03-26 09:40:5115-16赛季CBA联赛之佛山
日期:2020-05-08 09:03:54
3 [报告]
发表于 2018-08-06 10:40 |只看该作者
本帖最后由 chengchow 于 2018-08-06 10:42 编辑
  1. [root@djangoc170 tmp]# awk 'BEGIN{RS=ORS="server {";FS=OFS="\n"}/a.com/{for(i=1;i<=NF;i++){gsub("listen 80;","",$i)}}{print $0}' 1.txt
  2. server {
  3.                 listen 80;
  4.     listen 443 ssl;
  5.     server_name b.com;
  6.     location / {
  7.         proxy_pass http://172.16.64.9:8098;
  8.        #proxy_redirect off;
  9.         proxy_set_header Host $host;
  10.         proxy_set_header X-Real-IP $remote_addr;
  11.         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  12.         proxy_pass_request_headers              on;
  13.         client_max_body_size 200m;
  14.         client_body_buffer_size 1280k;
  15.         proxy_connect_timeout 300;
  16.         proxy_send_timeout 300;
  17.         proxy_read_timeout 300;
  18.         proxy_buffer_size 4k;
  19.         proxy_buffers 4 32k;
  20.         proxy_busy_buffers_size 64k;
  21.         proxy_temp_file_write_size 64k;
  22.     }
  23. }
  24. server {
  25.    
  26.     listen 443 ssl;
  27.     server_name a.com;

  28.     location / {
  29.         proxy_pass http://172.16.64.9:80;
  30.         proxy_redirect off;
  31.         proxy_set_header Host $host;
  32.         proxy_set_header X-Real-IP $remote_addr;
  33.         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  34.         proxy_pass_request_headers              on;
  35.         client_max_body_size 200m;
  36.         client_body_buffer_size 1280k;
  37.         proxy_connect_timeout 300;
  38.         proxy_send_timeout 300;
  39.         proxy_read_timeout 300;
  40.         proxy_buffer_size 4k;
  41.         proxy_buffers 4 32k;
  42.         proxy_busy_buffers_size 64k;
  43.         proxy_temp_file_write_size 64k;
  44.     }
  45. }
  46. server {
  47.     listen 443 ssl;
  48.    
  49.     server_name a.com;

  50.     location / {
  51.         proxy_pass http://172.16.64.9:8096;
  52.         proxy_redirect off;
  53.         proxy_set_header Host $host;
  54.         proxy_set_header X-Real-IP $remote_addr;
  55.         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  56.         proxy_pass_request_headers              on;
  57.         client_max_body_size 200m;
  58.         client_body_buffer_size 1280k;
  59.         proxy_connect_timeout 300;
  60.         proxy_send_timeout 300;
  61.         proxy_read_timeout 300;
  62.         proxy_buffer_size 4k;
  63.         proxy_buffers 4 32k;
  64.         proxy_busy_buffers_size 64k;
  65.         proxy_temp_file_write_size 64k;
  66.     }
  67. }
复制代码

论坛徽章:
0
4 [报告]
发表于 2018-08-06 15:56 |只看该作者
回复 2# wh7211

谢谢

论坛徽章:
0
5 [报告]
发表于 2018-08-06 15:56 |只看该作者
回复 3# chengchow

谢谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP