`
hankgong
  • 浏览: 199609 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

用Ruby处理NS2 log file

    博客分类:
  • Ruby
阅读更多
ruby 代码
  1. #!/usr/local/bin/ruby   
  2. require 'mathn'    
  3. files = Dir.glob("udpsink*.txt")   
  4.   
  5. interval=ARGV[0]   
  6.   
  7. if ARGV.size <=1   
  8.     interval = 49   
  9. end  
  10.   
  11. files.each do |f|   
  12.     dl = []    
  13.     ps=[]      
  14.     udpindex = f.match(/(\d+)/)[1].to_i   
  15.        
  16.     File.open(f, 'r').each do |line|   
  17.         ll=line.split   
  18.         dl << ll[3].to_f   
  19.         ps << ll[4].to_i   
  20.     end  
  21.   
  22.     sum = 0    
  23.     ps.each {|p| sum += p}   
  24.        
  25.     delay=0    
  26.     dl.each {|d| delay += d}   
  27.   
  28.     printf "UDP #%d Throughput: %0.2f Kbps   Average delay: %0.2f Sec\n", udpindex, sum*8/1024/interval.to_f, delay/dl.size   
  29. end  

注意几个地方

1) Dir.glob方法返回一个array

2) File.open(f, 'r').each 可以调用block

3) string.match(regex)[1] 返回匹配组

分享到:
评论

相关推荐

    ruby setup file

    ruby a script code setup file

    ruby_test_file

    ruby test_file class des

    使用Ruby来处理文本的教程

    在文本处理领域,Ruby的表现尤为出色,它提供了一系列功能强大的字符串操作方法,使得处理文本数据变得简单高效。接下来,我们将详细探讨Ruby中字符串的操作方法,以及如何利用Ruby处理不同格式的文本数据,例如CSV...

    src-oepkgs/ruby-ruby2ruby

    src-oepkgs/ruby-ruby2rubysrc-oepkgs/ruby-ruby2rubysrc-oepkgs/ruby-ruby2rubysrc-oepkgs/ruby-ruby2rubysrc-oepkgs/ruby-ruby2rubysrc-oepkgs/ruby-ruby2rubysrc-oepkgs/ruby-ruby2rubysrc-oepkgs/ruby-ruby2...

    Ruby-GNOME2.zip

    跟其它界面开发包不同的是,Ruby-GNOME2不仅仅提 供界面控件,它提供了整个GNOME 2.0的环境,包含Ruby/GLib2、Ruby/ATK、Ruby/Pango、Ruby/GTK2、Ruby/GnomeCanvas2、Ruby /GNOME2、Ruby/GnomeVFS、Ruby/GtkHtml2、...

    Ruby-Log4r使用Ruby程序一个全面的和灵活的日志库

    **Ruby-Log4r:全面灵活的日志解决方案** 在Ruby编程中,日志记录是必不可少的,它帮助开发者追踪程序运行状态,调试错误,并提供关键的系统信息。Log4r是一个强大的日志库,它提供了Java Log4j的许多功能,并针对...

    ruby2ruby.zip

    ruby2ruby 提供一些用来根据 RubyParser 兼容的 Sexps 轻松生成纯 Ruby 代码的方法。可在 Ruby 中轻松实现动态语言处理。 标签:ruby2ruby

    Ruby-Http2HTTP2协议的纯Ruby实现

    Ruby-Http2是HTTP/2协议的一个纯Ruby实现,它为Ruby开发者提供了一种高效、安全的方式来处理HTTP通信。HTTP/2是HTTP协议的最新版本,相比于早期的HTTP/1.1,它引入了许多改进,旨在提高网络性能,降低延迟,并优化...

    Ruby-Refile一个现代的文件上传Ruby应用程序库它是简单的但功能强大

    Ruby的Refile库是用于构建Web应用程序中的文件上传功能的一个高效且灵活的解决方案。它旨在提供简洁的API,同时保持高度可定制性,使得开发者在处理用户上传的文件时能够轻松应对各种需求。Refile的核心理念是将文件...

    Ruby Data-Processing ruby数据处理

    Ruby是一种强大的动态编程语言,尤其在数据处理方面表现出色。Map、Reduce和Select是Ruby中用于操作和处理数据的关键概念,它们在数据科学、分析和软件工程领域中扮演着重要角色。 1. **Ruby Map**: Map函数允许...

    Ruby-TensorStream用Ruby重新实现TensorFlow

    **Ruby-TensorStream:用Ruby重现实现TensorFlow** Ruby-TensorStream是一个开源项目,旨在为Ruby开发者提供一个类似于Google TensorFlow的深度学习框架。它的核心目标是让Ruby程序员能够利用TensorFlow的强大功能...

    Ruby-OAuth2一个OAuth20协议的Ruby封装

    Ruby-OAuth2库提供了丰富的错误处理机制,例如`OAuth2::Error`和`OAuth2::AccessDenied`,可以帮助开发者快速识别和解决问题。 总之,Ruby-OAuth2是Ruby开发者实现OAuth 2.0授权的重要工具,它通过简洁的接口和易于...

    Ruby读写txt文件

    在处理文本数据时,如读写txt文件,Ruby提供了简洁而直观的API。下面将详细介绍Ruby如何进行txt文件的读写操作。 一、打开和关闭文件 在Ruby中,我们通常使用`File`类的方法来操作文件。读取txt文件时,可以使用`...

    ruby源代码 ruby源代码 ruby源代码 ruby源代码2

    ruby源代码 ruby源代码 ruby源代码 ruby源代码2

    ruby图片处理工具

    Ruby 图片处理工具主要指的是利用 Ruby 语言的库来对图像进行操作,如编辑、转换、裁剪等。在这个特定的场景中,我们关注的是一个针对 Windows 操作系统的 Ruby Gem 安装包,它包含了 Rmagick 和 ImageMagick 这两个...

    ruby实现文件对比资料

    在Ruby编程语言中,文件对比是一项常见的任务,尤其在处理文本文件、代码比较或日志分析时。本文将深入探讨如何使用Ruby实现文件对比,并提供相关的实例和技巧,帮助你编写出自己的文件对比脚本或生成对比报告。 一...

    用ruby读excel文件生成xml文件

    标题 "用ruby读excel文件生成xml文件" 描述的是一项技术任务,即使用Ruby编程语言来处理Excel文件,并将其内容转换成XML格式。这在数据迁移、格式转换或与不支持Excel格式的应用程序进行数据交换时非常有用。Ruby库...

    安装rvm,把ruby版本提升至3.0.0

    2. 设置Ruby 3.0.0为默认版本(可选): ``` rvm use 3.0.0 --default ``` 现在,Ruby版本已经升级到3.0.0,你可以开始使用这个版本进行开发。但在此之前,如果你遇到了“Error installing redis: redis ...

    ruby 目录操作详细介绍

    在Ruby编程语言中,对目录的操作是至关重要的,特别是在处理文件系统时。下面将详细介绍如何在Ruby中进行目录的创建、删除、查询、修改以及读取文件等操作。 1. 创建文件夹 Ruby提供了多种创建文件夹的方法。例如,...

    Ruby:ruby错误处理教程

    Ruby:ruby错误处理教程

Global site tag (gtag.js) - Google Analytics