- 论坛徽章:
- 0
|
我有一个要分析的文件,如下:
各模块CPU占用率
---------------
模块号 CPU占用状况
0 30%,正常
1 28%,正常
2 26%,正常
3 25%,正常
4 21%,正常
5 33%,正常
6 22%,正常
7 27%,正常
8 27%,正常
9 26%,正常
10 05%,正常
(结果个数 = 11)
--- END
检查时间是: 2008-01-28 13:17:00
我想用AWK分析这个文件,把里面的时间(最后一行)提取出来,放到这个文件的第一列,模块号和cpu占用状况下的具体数值都提取出来形成一个新的文件,格式如下:
2008-01-28 13:17:00|0|30|正常
2008-01-28 13:17:00|1|28|正常
2008-01-28 13:17:00|2|26|正常
2008-01-28 13:17:00|3|25|正常
2008-01-28 13:17:00|4|21|正常
2008-01-28 13:17:00|5|33|正常
2008-01-28 13:17:00|6|22|正常
2008-01-28 13:17:00|7|27|正常
2008-01-28 13:17:00|8|27|正常
2008-01-28 13:17:00|9|26|正常
2008-01-28 13:17:00|10|05|正常
写了一个脚本:
BEGIN {
}
index($0,"各模块CPU占用率")
{
dn =0 #模块号
baifenbi =0 #百分比
while(readline())
{
if(index($0,"--- END"))
{
break;
}
else if($NF=="CPU占用状况" && NF==2)
while(readline())
{
if(index($0,"(结果个数"))
{
break;
}
dn =$1
baifenbi=$2
split(baifenbi,u,",");
x1=u[1]
x2=u[2]
split(x1,z,"%");
y=z[1]
print dn"|"y"|"x2
}
}
}
END{
}
可以分析出这样的结果,可是时间不知道如何取出,请问高手如何处理,谢谢!
1|28|正常
2|26|正常
3|25|正常
4|21|正常
5|33|正常
6|22|正常
7|27|正常
8|27|正常
9|26|正常
10|05|正常 |
|