【发布时间】:2016-05-18 14:03:49
【问题描述】:
我想从 snort 规则中获取正则表达式。
这是我保存为 csv 的文本示例 - https://rules.emergingthreats.net/open/snort-2.9.0/rules/emerging-exploit.rules
所以有多个规则,
#by Akash Mahajan
#
alert udp $EXTERNAL_NET any -> $HOME_NET 14000 (msg:"ET EXPLOIT Borland VisiBroker Smart Agent Heap Overflow"; content:"|44 53 52 65 71 75 65 73 74|"; pcre:"/[0-9a-zA-Z]{50}/R"; reference:bugtraq,28084; reference:url,aluigi.altervista.org/adv/visibroken-adv.txt; reference:url,doc.emergingthreats.net/bin/view/Main/2007937; classtype:successful-dos; sid:2007937; rev:4;)
我只想要所有出现在“pcre”之后的文本,提取并打印到新文件中,不带引号
pcre:"/[0-9a-zA-Z]{50}/R";
所以,从上面的这一行开始,我想以下面的文字结束;
/[0-9a-zA-Z]{50}/R
“pcre”出现在整个文件中的每一个地方。
我一直在搞乱 grep、awk 和 sed。我就是想不通。我对此很陌生。
谁能给我一些建议?
谢谢
【问题讨论】:
-
1 行并不是一个示例。您最好发布几行示例输入和预期输出。包括没有 pcre 的行,有多个 pcre,如果 pcre 出现在您希望忽略它的上下文中(例如,在字符串内部,作为其他词的一部分等),如果它们存在的话。