免费注册 查看新帖 |

Chinaunix

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

这个awk语句可以合并吗 [复制链接]

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

目的是取出,号分隔部分中的第二个括号中的servername。
不能可以写到一个awk语句中呢?
各位前辈帮忙优化一下啦。
谢谢!
#awk -F"," '{printf $1 "\n" $2 "\n"}' temp |awk -F"[)(]" '{print $4}'
abc-v2-app3
abc-wwwssl143
abc-v3-app17
abc-wsgwssl2
efg-wwwssl144
efg-wsauthssl2
abc-www425
abc-opapi1
efg-wsapissl8
efg-v1-app5
abc-www427
abc-v2-app12
abc-www407
efg-v3-app17
abc-www452
abc-v1-app15
efg-wsgwssl7
abc-v5-app9
abc-www422
efg-v2-app9


#cat temp
(Component) sudoers-file-Audit-Server (abc-v2-app3),
(Component) sudoers-file-Audit-Server (abc-wwwssl143), (Component) sudoers-file-Audit-Server (abc-v3-app17),
(Component) sudoers-file-Audit-Server (abc-wsgwssl2), (Component) sudoers-file-Audit-Server (efg-wwwssl144),
(Component) sudoers-file-Audit-Server (efg-wsauthssl2), (Component) sudoers-file-Audit-Server (abc-www425),
(Component) sudoers-file-Audit-Server (abc-opapi1), (Component) sudoers-file-Audit-Server (efg-wsapissl,
(Component) sudoers-file-Audit-Server (efg-v1-app5), (Component) sudoers-file-Audit-Server (abc-www427),
(Component) sudoers-file-Audit-Server (abc-v2-app12), (Component) sudoers-file-Audit-Server (abc-www407),
(Component) sudoers-file-Audit-Server (efg-v3-app17), (Component) sudoers-file-Audit-Server (abc-www452),
(Component) sudoers-file-Audit-Server (abc-v1-app15), (Component) sudoers-file-Audit-Server (efg-wsgwssl7)

论坛徽章:
0
2 [报告]
发表于 2011-07-01 11:02 |只看该作者
回复 1# beacon1024


    awk -F'(' '{print $NF|"tr \"[),]\" \" \""}'

论坛徽章:
0
3 [报告]
发表于 2011-07-01 11:27 |只看该作者
谢谢wtuter啊,神人真多啊。完全看不懂的句子,我得好好学习

论坛徽章:
0
4 [报告]
发表于 2011-07-01 11:32 |只看该作者
回复 2# wtuter


   
awk -F"," '{printf $1 "\n" $2 "\n"}' temp |awk -F"[)(]" '{print $4}'  | wc -l
68
awk -F'(' '{print $NF|"tr \"[),]\" \" \""}' job  | wc -l
34

不对啊,少了一半的记录,后面一行没有打出来。

论坛徽章:
145
技术图书徽章
日期:2013-10-01 15:32:13戌狗
日期:2013-10-25 13:31:35金牛座
日期:2013-11-04 16:22:07子鼠
日期:2013-11-18 18:48:57白羊座
日期:2013-11-29 10:09:11狮子座
日期:2013-12-12 09:57:42白羊座
日期:2013-12-24 16:24:46辰龙
日期:2014-01-08 15:26:12技术图书徽章
日期:2014-01-17 13:24:40巳蛇
日期:2014-02-18 14:32:59未羊
日期:2014-02-20 14:12:13白羊座
日期:2014-02-26 12:06:59
5 [报告]
发表于 2011-07-01 11:33 |只看该作者
目的是取出,号分隔部分中的第二个括号中的servername。
不能可以写到一个awk语句中呢?
各位前辈帮忙优化 ...
beacon1024 发表于 2011-07-01 10:58



awk -F'[)(]' '{n=4;while($n){print $n;n+=4}}' temp

论坛徽章:
0
6 [报告]
发表于 2011-07-01 15:31 |只看该作者
awk -F, '{split($1,m1,"[)(]");split($2,m2,"[)(]");print m1[4]"\n"m2[4]}' file

论坛徽章:
0
7 [报告]
发表于 2011-07-01 15:44 |只看该作者
  1. awk '{gsub(/.*\(|\)/,"")}1' RS=, file
复制代码

论坛徽章:
0
8 [报告]
发表于 2011-07-01 15:54 |只看该作者
awk -v RS="," -F "[()]" '{print $4}' d
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP