星期五, 三月 31, 2006

[AWK] 用awk处理数据

一个awk脚本,使用方法: awk -f my.awk data.txt
function strip(s){gsub(/^ *| *$/, "", s),  "", s);return s}
function stripColon(s){a= length(":")+index(s,":") ;return strip(substr(s,a))}
BEGIN {
OFS=","
process=0
print "名称", "人均消费", "电话", "地址", "菜系" , "特色菜"
}
{
if(process == 1){
#print myarray["name"]
if($1 ~ "查看全部网友评论")
{
print myarray["name"], myarray["avg"], myarray[ "tel"], myarray["add"], myarray["ser" ], myarray["spe"]
delete myarray
}
else if($1 ~ "查看餐馆详细信息" || $1 ~ "向朋友推荐" || $1 ~ "挑错或补充信息" || $1 ~ "网友打分" || $1 ~ /口味/) { }
else if($1 ~ "满分为10分")
{
myarray["avg"] = stripColon($2)
}
else if($0 ~ /菜[ ] +系/)
{
myarray["ser"] = stripColon($0)
}
else if($1~/特色菜/)
{
myarray[ "spe"] = stripColon($0)
}
else if($0 ~/电[ ]+话/)
{
myarray[ "tel"] = stripColon($0)
}
else if( $0~/地[ ]+址/)
{
myarray["add"] = stripColon($0)
}
else if ($1 ~ /共搜索到/)
{
process = 0
}
else if(length($1)>1)
{
myarray[ "name"] = strip($0)
}
}
else if( $1 ~ /共搜索到/)
{
process = 1
}
}

处理的数据文件范例:
 餐厅搜索_XX生活_XX网             
>&gt 进入饮食频道






搜索全国65356家餐馆
城市: 选择城市 上海 北京 广州 深圳 成都 重庆 天津 杭州 南京 苏州 宁波 扬州 无锡 福州 厦门 武汉 西安 沈阳 大连 青岛 济南 海南 其它城市

区域:

菜系:
餐厅 地址






条件: 全部 菜系 口味 材料 做法

类别: 全部








现在位置: 新浪生活 > 全国万家餐馆搜索
共搜索到 26 家餐馆 共 5 页 页码: 1 | 2 | 3 | 4 | 5 | 上一页 | 下一页

美炉村北四环店

网友打分   

口味: 环境: 服务:
(满分为10分)  平均分: 人均消费:

菜 系: 江西
特色菜: 煨南瓜 铁板蒜香鱼 农家豆腐
电 话: 88457838
地 址: 昆明湖南路四海桥空军指挥学院北门
挑错或补充信息
向朋友推荐
查看餐馆详细信息
查看全部网友评论

美炉村苏州街店

网友打分   

口味: 环境: 服务:
(满分为10分)  平均分: 人均消费:

菜 系: 江西
特色菜: 煨南瓜 铁板蒜香鱼 农家豆腐
电 话: 62538883
地 址: 苏州街11号
挑错或补充信息
向朋友推荐
查看餐馆详细信息
查看全部网友评论

赣江源甲鱼村

网友打分   

口味: 环境: 服务:
(满分为10分)  平均分: 人均消费:

菜 系: 江西 湖南
特色菜: 红煨甲鱼,啤酒鸭.
电 话: 82473115
地 址: 西北旺永丰路1号
挑错或补充信息
向朋友推荐
查看餐馆详细信息
查看全部网友评论

民间瓦罐煨汤馆亚运村店

网友打分   

口味: 环境: 服务:
(满分为10分)  平均分: 人均消费:

菜 系: 江西
特色菜: 排骨莲藕汤 笋干肥肠
电 话: 64868811
地 址: 亚运村慧忠北里411楼1层(大屯路北辰东路交叉路口)
挑错或补充信息
向朋友推荐
查看餐馆详细信息
查看全部网友评论

汉方阁

网友打分   

口味: 环境: 服务:
(满分为10分)  平均分: 人均消费:

菜 系: 江西
特色菜: 瓦罐煨汤 井冈山腌笋 红烧肉
电 话: 66131808
地 址: 西什库大街31号
挑错或补充信息
向朋友推荐
查看餐馆详细信息
查看全部网友评论

赣江龙

网友打分   

口味: 环境: 服务:
(满分为10分)  平均分: 人均消费:

菜 系: 江西
特色菜: 赣南小鱼、江西佬佬笋、乡村炖活鱼、赣味回锅肉
电 话: 88389389
地 址: 西直门外大街141号
挑错或补充信息
向朋友推荐
查看餐馆详细信息
查看全部网友评论

共搜索到 26 家餐馆 共 5 页 页码: 1 | 2 | 3 | 4 | 5 | 上一页 | 下一页
处理结果:
名称,人均消费,电话,地址,菜系,特色菜
美炉村北四环店,,88457838,昆明湖南路四海桥空军指挥学院北门,江西,煨南瓜 铁板蒜香鱼 农家豆腐
美炉村苏州街店,,62538883,苏州街11号,江西,煨南瓜 铁板蒜香鱼 农家豆腐
赣江源甲鱼村,,82473115,西北旺永丰路1号,江西 湖南,红煨甲鱼,啤酒鸭.
民间瓦罐煨汤馆亚运村店,,64868811,亚运村慧忠北里411楼1层(大屯路北辰东路交叉路口),江西,排骨莲藕汤 笋干肥肠
汉方阁,,66131808,西什库大街31号,江西,瓦罐煨汤 井冈山腌笋 红烧肉
赣江龙,,88389389,西直门外大街141号,江西,赣南小鱼、江西佬佬笋、乡村炖活鱼、赣味回锅肉

0 Comments:

发表评论

<< Home