是否有预装了众所周知的正则表达式的文本搜索工具?

是否有预装了众所周知的正则表达式的文本搜索工具?

我想知道是否有任何命令行工具来搜索预加载了一些众所周知的正则表达式(IP、电子邮件、日期、路径、url、xml 标签等)的文本文件,以便您可以执行以下操作:

grep -A 5 '443: open' somefile.log | getregexmatch --ip

从 的输出中提取所有 IP 地址grep

答案1

是的,perl 是你的朋友。在本例中,特别是 perl 的 Regexp::Common。它提供了预定义的正则表达式定义(有关更多详细信息,请参阅文档:http://search.cpan.org/~abigail/Regexp-Common-2016020301/lib/Regexp/Common.pm)。

IPv4 的示例如下:

$ perl -MRegexp::Common -lne 'print $1 if /($RE{net}{IPv4})/g' file
172.18.0.1
172.17.0.1
127.0.0.1

相关内容