我在运行防火墙的计算机上使用Logwatch。我每天都收到一封电子邮件,内容如下:
From 123.123.123.10 - 28087 packets
To 123.123.123.1 - 2 packets
Service: http (tcp/80) (Firewall Allow) - 2 packets
To 123.123.123.2 - 1 packet
Service: http (tcp/80) (Firewall Allow) - 1 packet
To 123.123.123.3 - 7 packets
Service: https (tcp/443) (Firewall Allow) - 7 packets
From 123.123.123.11 - 28087 packets
To 123.123.123.1 - 2 packets
Service: http (tcp/80) (Firewall Allow) - 2 packets
To 123.123.123.2 - 1 packet
Service: http (tcp/80) (Firewall Allow) - 1 packet
To 123.123.123.3 - 7 packets
Service: https (tcp/443) (Firewall Allow) - 7 packets
我想在我的ignore.conf文件中放入一个条目,该文件会跳过特定系统或子网的所有信息。由于ignore.conf条目只是Perl风格的正则表达式,如果我把
^ From 123\.123\.123\.10
在文件中,匹配" From"删除行,但保留所有其他行。我的问题是,我可以构建一个不仅匹配" From" line,但是跟随它的所有行,直到下一行以" ^ From"发生?我知道你可以用sed做到这一点,但我不确定在ignore.conf中只有一个正则表达式是否可行。提前感谢所有回复的人。
答案 0 :(得分:0)
如果dot也捕获换行符,那么这个正则表达式就足够了:
From\s+123\.123\.123\.10.+(?=\s+From)