免费注册 查看新帖 |

Chinaunix

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

这个需求要如何写shell [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-06-19 11:40 |只看该作者 |倒序浏览
现在有一文本内容如下

  1. 2007-06-15
  2. 13:01

  3. Pinging 61.152.46.217 with 32 bytes of data:

  4. Reply from 61.152.46.217: bytes=32 time=1ms TTL=249
  5. Reply from 61.152.46.217: bytes=32 time=1ms TTL=249
  6. Reply from 61.152.46.217: bytes=32 time=1ms TTL=249
  7. Reply from 61.152.46.217: bytes=32 time=17ms TTL=249

  8. Ping statistics for 61.152.46.217:
  9.     Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
  10. Approximate round trip times in milli-seconds:
  11.     Minimum = 1ms, Maximum = 17ms, Average = 5ms

  12. 2007-06-15
  13. 13:04

  14. Pinging 202.108.33.32 with 32 bytes of data:

  15. Request timed out.
  16. Reply from 202.108.33.32: bytes=32 time=94ms TTL=242
  17. Reply from 202.108.33.32: bytes=32 time=88ms TTL=242
  18. Reply from 202.108.33.32: bytes=32 time=90ms TTL=242

  19. Ping statistics for 202.108.33.32:
  20.     Packets: Sent = 4, Received = 3, Lost = 1 (25% loss),
  21. Approximate round trip times in milli-seconds:
  22.     Minimum = 88ms, Maximum = 94ms, Average = 90ms

  23. ……略…………
  24. ……略…………
复制代码


我这样怎么写才能得到每一段的 loss 和 Average 的值

[ 本帖最后由 kevensky 于 2007-6-19 11:42 编辑 ]

论坛徽章:
23
15-16赛季CBA联赛之吉林
日期:2017-12-21 16:39:27白羊座
日期:2014-10-27 11:14:37申猴
日期:2014-10-23 08:36:23金牛座
日期:2014-09-30 08:26:49午马
日期:2014-09-29 09:40:16射手座
日期:2014-11-25 08:56:112015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:0315-16赛季CBA联赛之山东
日期:2017-12-21 16:39:1915-16赛季CBA联赛之广东
日期:2016-01-19 13:33:372015亚冠之山东鲁能
日期:2015-10-13 09:39:062015亚冠之西悉尼流浪者
日期:2015-09-21 08:27:57
2 [报告]
发表于 2007-06-19 11:55 |只看该作者
  1. awk -F, '/loss/||/Average/{print $3}' urfile
复制代码

[ 本帖最后由 ly5066113 于 2007-6-19 11:57 编辑 ]

论坛徽章:
0
3 [报告]
发表于 2007-06-19 11:59 |只看该作者
cat *|grep -e "Lost" -e "Average ="|awk 'BEGIN{FS=","} {print $3}'

论坛徽章:
0
4 [报告]
发表于 2007-06-19 12:10 |只看该作者
egrep -o '(Lost = [0-9]+|Average.*)'  urfile

论坛徽章:
0
5 [报告]
发表于 2007-06-19 12:15 |只看该作者
原帖由 sunceenjoy 于 2007-6-19 11:59 发表
cat *|grep -e "Lost" -e "Average ="|awk 'BEGIN{FS=","} {print $3}'



非常感谢大大们的回答,但我比较菜,呵呵,就看懂了这一行,运行后得到的结果为

  1. Lost = 0 (0% loss)
  2. Average = 5ms
  3. Lost = 1 (25% loss)
  4. Average = 90ms
复制代码


我还想进一步简化,能否得到这样的结果

  1. 0%      5ms
  2. 25%      90ms
复制代码

论坛徽章:
0
6 [报告]
发表于 2007-06-19 12:33 |只看该作者
上面的loss应该改成Lost吧 呵呵

grep  Average  cc.txt |awk '{print  $9}' >b
grep  Lost cc.txt |awk '{print  $10"%"}' >a
paste  a b

处理后结果如下:
0%    5ms
25%   90ms

[ 本帖最后由 zhouliming 于 2007-6-19 12:43 编辑 ]

论坛徽章:
23
15-16赛季CBA联赛之吉林
日期:2017-12-21 16:39:27白羊座
日期:2014-10-27 11:14:37申猴
日期:2014-10-23 08:36:23金牛座
日期:2014-09-30 08:26:49午马
日期:2014-09-29 09:40:16射手座
日期:2014-11-25 08:56:112015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:0315-16赛季CBA联赛之山东
日期:2017-12-21 16:39:1915-16赛季CBA联赛之广东
日期:2016-01-19 13:33:372015亚冠之山东鲁能
日期:2015-10-13 09:39:062015亚冠之西悉尼流浪者
日期:2015-09-21 08:27:57
7 [报告]
发表于 2007-06-19 12:48 |只看该作者
try

  1. sed -n '/Packets/{N;N;s/.*(\([0-9]*%\).* \([0-9]*ms\)/\1 \2/;p;}' urfile
复制代码

[ 本帖最后由 ly5066113 于 2007-6-19 12:53 编辑 ]

论坛徽章:
0
8 [报告]
发表于 2007-06-19 13:37 |只看该作者
原帖由 ly5066113 于 2007-6-19 12:48 发表
try

  1. sed -n '/Packets/{N;N;s/.*(\([0-9]*%\).* \([0-9]*ms\)/\1 \2/;p;}' urfile
复制代码



非常感谢ly5066113兄,运行出来后就是我想要的答案
呵呵,zhouliming 兄的命令出来后有一点点小出入,就是我要得到%号前的数值,而您的结果出来的是Lost的值
我比较笨,不大会变通,还请大大们能否解释下是啥回事么,而且为啥经常看到些shell中给出一段天书,就可以在一堆数据中找到你要想的数据,这都是用啥来实现的啊

论坛徽章:
23
15-16赛季CBA联赛之吉林
日期:2017-12-21 16:39:27白羊座
日期:2014-10-27 11:14:37申猴
日期:2014-10-23 08:36:23金牛座
日期:2014-09-30 08:26:49午马
日期:2014-09-29 09:40:16射手座
日期:2014-11-25 08:56:112015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:0315-16赛季CBA联赛之山东
日期:2017-12-21 16:39:1915-16赛季CBA联赛之广东
日期:2016-01-19 13:33:372015亚冠之山东鲁能
日期:2015-10-13 09:39:062015亚冠之西悉尼流浪者
日期:2015-09-21 08:27:57
9 [报告]
发表于 2007-06-19 13:45 |只看该作者
有空能看完置顶的十三问和基础十二篇,就不会觉得是天书了。
说来惭愧,基础十二篇至今没有看完。

论坛徽章:
0
10 [报告]
发表于 2007-06-19 15:12 |只看该作者
呵呵~~~没看完都怎么强了,那肯定不错了,回头也去瞧瞧,
嘿嘿,希望悟性不要太差哈
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP