awk文件编辑需要注意三个过程,其中BEGIN段只是在最开始的时候执行,一般进行初始化操作。END段在最后执行,一般都是进行输出操作,将取得的数据进行格式化输出。
下面,是我编写的一个获得当前轮存活节点数的awk文件,针对MIT leach仿真后的leach.alive文件。
BEGIN {
i=10;
j=0;
k=0; //初始化
}
{
round = $1; //每次都要执行将100个节点的状态相加
alive = $3;
if( round == i)
number[k] = number[k]+alive; //将100个节点的状态相加,获得当前轮节点的存活数
j=j+1;
if(j==100)
{
j=0;
k=k+1;
i=i+10;
}
}
END {
for(i=0;i<50;i++)
printf ("%d %d/n",i*10+10,number[i]);//将获得的数据格式化输出
}
一个简单的程序,但是可看出awk文件的编写思路,呵呵 希望有帮助!