如何在Perl中提取Unix路径

迪诺

输入

[security] [client 198.66.91.7] [domain testphp.example.com] [200] [/apache/20160503/20160503-0636/20160503-063628-Vyh-LH8AAAEAAE6zC@AAAAAD] (null)

所需的输出

/apache/20160503/20160503-0636/20160503-063628-Vyh-LH8AAAEAAE6zC@AAAAAD

这是我到目前为止所拥有的

'.*?\[.*?\].*?\[.*?\].*?\[.*?\].*?\[.*?\].*?\[(.*?)\]'

我的Perl代码。

#!/usr/bin/perl
use feature 'say';

$txt='[modsecurity] [client 199.66.91.7] [domain testphp.vulnweb.com] [200] [/apache/20160503/20160503-0636/20160503-063628-Vyh-LH8AAAEAAE6zC@AAAAAD] (null)';


$re=''.*?\[.*?\].*?\[.*?\].*?\[.*?\].*?\[.*?\].*?\[(.*?)\]'';

if ($txt =~ m/$re/is)
{
    $sbraces1=$1;
    say $1; 
}

输出

/apache/20160503/20160503-0636/20160503-063628-Vyh-LH8AAAEAAE6zC@AAAAAD

我认为我的正则表达式很乱吗?也许是另一种方式?

谢谢

兰塔尔

我也将使用split ...或比您正在使用的正则表达式更通用的正则表达式:

#!/usr/bin/env perl

use strict;
use warnings;
use Data::Dumper;

my $data = '[security] [client 198.66.91.7] [domain testphp.example.com] [200] [/apache/20160503/20160503-0636/20160503-063628-Vyh-LH8AAAEAAE6zC@AAAAAD] (null)';

my @fields = $data =~ /(?:\[(.*?)\])+/g;

print Dumper(\@fields);

您得到的输出是:

$VAR1 = [
          'security',
          'client 198.66.91.7',
          'domain testphp.example.com',
          '200',                                                                                                                               
          '/apache/20160503/20160503-0636/20160503-063628-Vyh-LH8AAAEAAE6zC@AAAAAD'                                                            
        ];         

因此,返回数组的第五个元素就是您想要的。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Perl中提取部分行

来自分类Dev

如何在unix中使用expr从存储在变量中的文件的绝对路径名中提取父目录?

来自分类Dev

如何在URI中提取路径参数值?

来自分类Dev

如何在ksh93中提取子路径

来自分类Dev

如何从Unix中的行中提取数字

来自分类Dev

如何从UNIX文件中提取数据?

来自分类Dev

目标C:如何从CaShapeLayer中提取路径

来自分类Dev

如何从 perl hashref 中提取多个值?

来自分类Dev

如何在Presto SQL中将unix时间戳转换为日期并从中提取月份

来自分类Dev

如何在Haskell中提取URL路径的最后一部分

来自分类Dev

如何在Perl中提取一部分字符串?

来自分类Dev

如何在Perl中从正文电子邮件中提取href?

来自分类Dev

如何在Perl中使用CPAN模块从PDF文件中提取图像?

来自分类Dev

如何在Perl中提取开始和结束正则表达式之间的行

来自分类Dev

如何在 Perl 中从 HTML 中提取 URL 标记和链接文本?

来自分类Dev

如何在 perl 中提取和打印这两个命名的捕获组?

来自分类Dev

在Perl中提取模式

来自分类Dev

如何在Ruby中提取整数的符号?

来自分类Dev

如何在R中提取str()信息

来自分类Dev

如何在Jquery中提取属性?

来自分类Dev

如何在.gitmodule中提取子模块?

来自分类Dev

如何在Lisp中提取Mancala板

来自分类Dev

如何在scrapy中提取准确的标签

来自分类Dev

如何在Matlab中提取表的列名

来自分类Dev

如何在sql中提取数据?

来自分类Dev

如何在文件python中提取文本

来自分类Dev

如何在Hive中提取小数部分

来自分类Dev

如何在PostgresOperator中提取XCOM值

来自分类Dev

如何在C中提取指针大小