perl regex机器和列表

安德烈

我想用perl打开一个日志文件,使用正则表达式查找我想要的内容,然后仅列出文本“#已知利用= [指纹匹配] [PHP利用[P0008]]:”下面的路径。

清单仅应列出以下路径:

/home/avocatma/public_html/raul/mambo/administrator/components/com_mynetwork/141163.php
/home/avocatma/public_html/raul/mambo/administrator/components/com_mynetwork/images/120541.php
/home/avocatma/public_html/raul/mambo/administrator/components/com_mynetwork/language/200724.php
/home/avocatma/public_html/raul/mambo/components/com_mynetwork/228469.php

原始日志文件

# Known exploit = [Fingerprint Match] [PHP Exploit [P0008]]:
'/home/avocatma/public_html/raul/mambo/administrator/components/com_mynetwork/141163.php'
# Known exploit = [Fingerprint Match] [PHP Exploit [P0008]]:
'/home/avocatma/public_html/raul/mambo/administrator/components/com_mynetwork/images/120541.php'
# Regular expression match = [symlink\s*\(]:
'/home/axacert/public_html/administrator/components/com_akeeba/akeeba/engines/archiver/jpa.php'
# Regular expression match = [symlink\s*\(]:
'/home/axacert/public_html/administrator/components/com_akeeba/akeeba/engines/archiver/zip.php'
# Regular expression match = [decode regex: 1]:
'/home/axacert/public_html/administrator/components/com_director/includes/stats.php'
# Known exploit = [Fingerprint Match] [PHP Exploit [P0008]]:
'/home/avocatma/public_html/raul/mambo/administrator/components/com_mynetwork/language/200724.php'
# Known exploit = [Fingerprint Match] [PHP Exploit [P0008]]:
'/home/avocatma/public_html/raul/mambo/components/com_mynetwork/228469.php'

我有基本的perl技能,我知道如何使用正则表达式,但是我不知道如何告诉perl字符串马赫仅列出字符串下方的路径,而不列出其他路径。

欢迎所有建议。

fugu

这应该可以实现您所追求的目标:

use warnings;
use strict; 
use File::Slurp;

my @file = read_file('test.txt'); # Read file into an array (you don't have to use file::slurp)
my $match=("# Known exploit"); # The thing you want to match on

for my $i (0 .. $#file) { # For each element in the array (each line) 
    print "$file[$i+1]" if ($file[$i] =~ /$match/); # Print the next line if the current line matches your match variable
}

输出:

'/home/avocatma/public_html/raul/mambo/administrator/components/com_mynetwork/141163.php'
'/home/avocatma/public_html/raul/mambo/administrator/components/com_mynetwork/images/120541.php'
'/home/avocatma/public_html/raul/mambo/administrator/components/com_mynetwork/language/200724.php'
'/home/avocatma/public_html/raul/mambo/components/com_mynetwork/228469.php'

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章