使用awk处理leach.alive(节点存活数量)的脚本

继续leach协议的学习。

今天要处理仿真结果,最好能画几个图。于是看了awk的资料,找到个别人写好的awk处理leach.alive的脚本。发现语法本身就错了。。网上几处帖子都是一样的,少了个“}”,修改过来后发现结果也不对。。

最后懒得改了,既然知道leach.alive里面是什么,干嘛还看别人写的脚本,还得去理解,怪累的,索性自己写一个好了。

 

本人编程水平很凹,所以就凑合用吧,反正我懂啥意思,结果应该没问题。

重写了一个,代码如下:

#!/usr/bin/awk

BEGIN {
time[0] = 0;
num = 0;
nodes_alive[0] = 100;
}

# Action
{
sim_time = $1;
node_id = $2;
node_state = $3;

if (sim_time > time[num]) {
num++;
time[num] = sim_time;
nodes_alive[num] = nodes_alive[0];
}
if (node_state == 0) {
nodes_alive[num]--;
}
}

END {
for (i=0; i<=num; i++) {
printf("%f %d\n", time[i], nodes_alive[i]);
}
}



算了,不贴图了,网速不行。总之跟leach.out的结果比对过了,没有错误。

忘了说了,保存这个脚本node-alive.awk后,在终端输入awk -f node-alive.awk leach.alive >nodes-alive.data

就生成了一个nodes-alive.data文本。里面是整理后的数据。



转载于:https://www.cnblogs.com/reaver21/archive/2012/02/16/2354559.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值