1

我有一个日志文件

field1 field2 field3 field4withvariablelength ... field5with...

有没有办法使用 perl 正则表达式提取例如字段 5,比如

“用空格分隔”和“给我索引 5”??

4

2 回答 2

5

当然,您可以使用split按空格分隔:

my (@fields) = split /\s+/;
print $fields[4];

这是一个完整的测试脚本:

#!/usr/bin/perl -w
use strict;

while (<DATA>) {
    my (@fields) = split /\s+/;
    print $fields[4];
}    


__DATA__
field1 field2 field3 field4withvariablelength... field5with...
于 2012-11-11T12:21:10.840 回答
0

或者像这样:

my $str = "field1 field2 field3 field4withvariablelength ... field5with...";
$str =~ m/field5(.*)$/i;
print $1; # type with...

如果你必须去其他领域:

$str =~ m/\s+field4(.*)\s+/i;
print $1; # type withvariable...
于 2012-11-11T12:28:48.477 回答