- 论坛徽章:
- 0
|
本帖最后由 q369965658 于 2012-02-03 18:35 编辑
想分析一串类似于
Time Int rKB/s wKB/s rPk/s wPk/s rAvs wAvs %Util Sat
11:29:13 e1000g0 0.00 0.00 0.00 0.00 226.4 64.09 0.00 0.00
11:29:13 lo0 0.00 0.00 1.11 1.11 0.00 0.00 0.00 0.00
.......
这样的数据,行数不定。我做的是列排序,想要往空格的地方插入 ASCII码 ,我写的代码如下- parserResult='BEGIN{
- len=split(strResult,array);
- for(k=1;k<=len;k++)
- {
- if(1 == k){
- print array[k],char(0x1e);} //第一行与值之间用0x1e隔开,
- else if(k == len){
- print array[k];} //最后一个值后面什么也不加
- else if(k % 7 ==0){
- print array[k],char(0x1f);} //以后的每一行开始与值都加一个ox1f
- else if(k % 7!=0){
- print array[k],char(0x1d);}//值与值之间用ox1d隔开
- }
- }'
- awk -v strResult=$result "$parserResult"
复制代码 :
不知道我这样的想法对不对,大家有没有其它好的方法
还有,好像这个语法难道也不对?运行好像说awk符号错误,
请大家指点指点,公司初次用AWK分析。
那如果把输出的格式换成坚着输出的话,用AWK如何写呢,例如这样:Time 0x1e 11:29:13 0x1f 11:29:13 0x1d Int 0x1e e1000g0 0x1f lo0 ......
像这种格式的用AWK来做是不是不好写,还是写不出来?
help me{:2_166:} |
|