免费注册 查看新帖 |

Chinaunix

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

关于脚本取值的问题,在线等。谢谢 [复制链接]

论坛徽章:
1
数据库技术版块每日发帖之星
日期:2016-01-24 06:20:00
11 [报告]
发表于 2009-07-22 13:56 |只看该作者

回复 #10 270175100 的帖子

paste -s -d "|" urfile

论坛徽章:
0
12 [报告]
发表于 2009-07-22 14:07 |只看该作者
sed -r ':a N;s/\n/|/;b a' file

论坛徽章:
0
13 [报告]
发表于 2009-07-22 14:10 |只看该作者
给搂主一个本人正在使用的一句话:格式化过了
  1. netstat -tunlp | sed 's/^.*:\([0-9]\{2,\}\) .*[0-9]\/\(.*\)$/\2 \1/g'| awk '!/^[AP]/&&!s[$0]++{if($3!="") $2=$3;else $0;if(!a[$1]) a[$1]=$2;else a[$1]=a[$1]","$2}END{for(i in a) printf"\t%-20s%-40s\n",i,a[i]}'
复制代码



对于包含这种的也有效:
tcp        0      0 :::7009                     :::*                        LISTEN      3584/nxagent        
tcp        0      0 :::139                      :::*                        LISTEN      2553/smbd           
tcp        0      0 :::22                       :::*                        LISTEN      2444/sshd           
tcp        0      0 ::1:6010                    :::*                        LISTEN      3333/sshd: nx@notty
tcp        0      0 :::445                      :::*                        LISTEN      2553/smbd

[ 本帖最后由 lucash 于 2009-7-22 15:55 编辑 ]

论坛徽章:
0
14 [报告]
发表于 2009-07-22 14:28 |只看该作者
原帖由 lucash 于 2009-7-22 14:10 发表
给搂主一个本人正在使用的一句话:格式化过了
netstat -tunlp | sed 's/^.*:\([0-9]\{2,\}\) .*[0-9]\/\(.*\)$/\2 \1/g'| awk '!/^[AP]/&&!s[$0]++{if($3!="" $2=$3;else $0;if(!a[$1]) a[$1]=$2;else a[$1] ...



为什么我不能执行呢?

错误:awk: cmd. line:1: (FILENAME=- FNR=1 fatal: attempt to use array `a' in a scalar context

论坛徽章:
0
15 [报告]
发表于 2009-07-22 14:28 |只看该作者
awk '{split($4,a,":");split($NF,b,"/");print a[2],b[2]}'

论坛徽章:
0
16 [报告]
发表于 2009-07-22 15:05 |只看该作者
sed -e 's/:/\//g' file3|awk -F'[ /]+' '{print $5,$(NF-1)}'

论坛徽章:
0
17 [报告]
发表于 2009-07-22 15:10 |只看该作者
捡上面几个人的便宜,改了下

  1. [root@lsmqy ~]# netstat -tunlp | sed -e '/A/d' -e 's/^.*:\([0-9]\{2,\}\) .*[0-9]\/\(.*\)$/\2 \1/g'
  2. hpiod           2208
  3. xinetd          904
  4. mysqld          3306
  5. portmap         111
  6. proftpd: (acce  21
  7. rpc.statd       630
  8. cupsd           631
  9. skype           40377
  10. python          2207
  11. httpd           80
  12. sshd            22
  13. httpd           443
  14. avahi-daemon:   60449
  15. skype           36394
  16. skype           40377
  17. avahi-daemon:   5353
  18. portmap         111
  19. rpc.statd       624
  20. skype           54129
  21. rpc.statd       627
  22. cupsd           631
  23. avahi-daemon:   35793
  24. avahi-daemon:   5353


复制代码

论坛徽章:
0
18 [报告]
发表于 2009-07-22 15:44 |只看该作者
awk 'BEGIN{FS="[ :]+";OFS=","}{print $5,substr($0,index($0,"/")+1)}' 1.txt

论坛徽章:
0
19 [报告]
发表于 2009-07-22 16:05 |只看该作者

回复 #14 270175100 的帖子

最后那个a 是a,么 显示出来 ,现在改过来了

论坛徽章:
0
20 [报告]
发表于 2009-07-22 16:08 |只看该作者
原帖由 270175100 于 2009-7-22 13:53 发表
还有一个问题:

5125
199
3306
22
514
161


如何把上面的输出成
5125|199|3306|22|514|161 这样的形式?



tr '\n' '|' <test.txt
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP