免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: dl318
打印 上一主题 下一主题

求awk脚本 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2010-04-25 11:52 |只看该作者
springwind426 发表于 2010-04-24 22:20

很犀利,学习了 :)

论坛徽章:
0
12 [报告]
发表于 2010-04-25 18:12 |只看该作者
学习了,谢谢!

论坛徽章:
0
13 [报告]
发表于 2010-04-25 19:29 |只看该作者
[root@Dan scripts]# more awksrc99

BEGIN{RS="listen *test[0-9a-zA-Z]*"}
{

  if(NR>1){
  if (newRt == var1){
     $0=R$0"\n        dfdf"var2"ddd"
}else{
     $0=R$0
}
}   
     
  newRt=gensub(/listen */,"",1,RT)
  R=RT   
  print  
}
[root@Dan scripts]# more sh74.sh

#!/bin/bash

awk -v var1=$1 -v var2=$2 -f awksrc99 linux.124
[root@Dan scripts]# sh sh74.sh test2 192.168.10.11

listen test 192.168.0.10:8888
        balance roundrobin
        option forwardfor
#       option ssl-hello-chk

        server web1 192.168.0.100:8091 weight 1 maxconn 5000 check
        server web1 192.168.0.101:8091 weight 1 maxconn 5000 check
                                             

listen  test2 192.168.0.9:8080
        balance roundrobin                                            
        option  forwardfor                                                
        option  ssl-hello-chk                                          
                                                
        server  web1 192.168.0.150:9090 weight 1 maxconn 5000 CHECK

        dfdf192.168.10.11ddd


我也写了一个HOHO~跟大家分享一下

论坛徽章:
0
14 [报告]
发表于 2010-04-25 20:39 |只看该作者
谢谢各位。学习了。
但是好像新增加的行只能在文件的最后增加,如果listen段不是最后一个分段好像不行。
比如楼上的,如果想在test段增加就不行。springwind426的好像也不行。

论坛徽章:
0
15 [报告]
发表于 2010-04-26 13:37 |只看该作者
谢谢各位。学习了。
但是好像新增加的行只能在文件的最后增加,如果listen段不是最后一个分段好像不行。
...
dl318 发表于 2010-04-25 20:39


我测试的结果是可行的,你的环境是什么?

论坛徽章:
0
16 [报告]
发表于 2010-04-26 16:06 |只看该作者
我也看看....................

论坛徽章:
0
17 [报告]
发表于 2010-04-26 17:27 |只看该作者
回复 15# springwind426


    我的环境是linux 5
    我已经换成另外的一种方式使用sed实现了功能,但是比较奇怪,这个awk怎么就是不好用呢。

论坛徽章:
33
ChinaUnix元老
日期:2015-02-02 08:55:39CU十四周年纪念徽章
日期:2019-08-20 08:30:3720周年集字徽章-周	
日期:2020-10-28 14:13:3020周年集字徽章-20	
日期:2020-10-28 14:04:3019周年集字徽章-CU
日期:2019-09-08 23:26:2519周年集字徽章-19
日期:2019-08-27 13:31:262016科比退役纪念章
日期:2022-04-24 14:33:24
18 [报告]
发表于 2010-04-26 17:28 |只看该作者
回复 17# dl318


把你的sed方案贴出来看看?

论坛徽章:
0
19 [报告]
发表于 2010-04-26 17:44 |只看该作者
春哥的那个awk的是可以的,很彪悍

论坛徽章:
0
20 [报告]
发表于 2010-04-26 21:01 |只看该作者
其实也没有什么。方法可能比较笨。
就是grep 找到test所在的行,然后使用sed i\增加行,呵呵。删除也是一样,sed 'n\d'
呵呵
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP