我编写了一个Perl脚本,用于从文件中读取数据并进行计算。基本上我正在尝试计算网络流量的吞吐量。我是从读取该文件的格式如下:Perl脚本提取部分数字
- 0.152416 1 2 tcp 1040 ------- 2 12.0 2.9 2 13
r 0.153584 1 2 tcp 1040 ------- 2 12.0 2.9 1 12
+ 0.154208 1 2 tcp 1040 ------- 2 10.0 2.7 3 15
- 0.154208 1 2 tcp 1040 ------- 2 11.0 2.8 3 15
r 0.155248 1 2 tcp 1040 ------- 2 12.0 2.9 2 13
我提取柱[0],[3],[7],[8],[9]。由于列[8]和[9]以double(即x.y)形式出现,因此我试图仅获得列[8]和[9]的第一部分(即x部分)。换句话说,我不关心在点“之后”出现的第二部分。 。我需要的第一部分。我想,我有两种方法,无论是处理正则表达式,还是添加更多额外的代码来为[8]和[9]中的每一行我将读取的标记定制标记?任何简短的建议。部分脚本:
#input parameters:
$infile=$ARGV[0];
$dest=$ARGV[1];
$from=$ARGV[2];
$to=$ARGV[3];
$fId=$ARGV[4];
$TimeShift=$ARGV[5];
我想使$和$只包含第一部分。
open (DATA,"<$infile") || die "error in $infile $!";
while (<DATA>)
{
@x = split(' '); Im using space
谢谢。但是,这给了我所有节点的零结果,而如果我指定第二部分(不使用整数),则计算吞吐量。 – SimpleNEasy 2013-02-20 22:56:51
@ Eng.Mohd:没有看到脚本,我不知道。 – choroba 2013-02-20 23:04:14
我解决了这个问题。谢谢 – SimpleNEasy 2013-02-20 23:06:21