多行(段落)匹配的问题,请帮忙

多行(段落)匹配的问题,请帮忙

每天需要写morning report,里面有一些无用的信息,想写个脚本处理一下,遇到一个难题,请高手帮忙。
我对shell熟悉一点,如果是aix操作系统,我相信使用grep -p "comparing"应该比较容易实现
我现在是在我的pc上装了cygwin在进行处理
我试着使用 awk 'BEGIN {RS="comparing.*"} /###########/' filename
没有得到我想要的结果

对perl了解一点,但只知道皮毛,希望有perl高手帮忙。


原始信息:
comparing host1 ……
comparing host2 ……
comparing host3 ……
difference1
################
difference2
################
difference3
################
comparing host4 ……
comparing host5 ……
comparing host6 ……
difference1
################
difference2
################
difference3
################
comparing host7 ……
comparing host8 ……


我需要得到的信息:
comparing host3 ……
difference1
################
difference2
################
difference3
################
comparing host6 ……
difference1
################
difference2
################
difference3
################
没人帮忙吗
perldoc perlre
大哥,我是来求助的
不是来问该看什么书或者文档的

正则表达式我会,shell我也会,只是我不知道怎么实现
我现在需要的是答案

谢谢!!!


QUOTE:
原帖由 foxhua 于 2008-11-27 12:42 发表
大哥,我是来求助的
不是来问该看什么书或者文档的

正则表达式我会,shell我也会,只是我不知道怎么实现
我现在需要的是答案

谢谢!!!

good luck
if you want to filtering some "comparing hostX .. " only, maybe:

perl -ne 'print if not /^comparing host[1|2|4|5|7|8]/' filename


QUOTE:
原帖由 ulmer 于 2008-11-27 18:10 发表
if you want to filtering some "comparing hostX .. " only, maybe:

perl -ne 'print if not /^comparing host[1|2|4|5|7|8]/' filename

这个思路不错。