私は次のようなログファイルを持っています
field1 field2 field3 field4withvariablelength ... field5with .. ..
たとえば、perl正規表現を使用してフィールド5を抽出する方法はありますか?
「スペースで区切る」と「インデックス5をください」??
私は次のようなログファイルを持っています
field1 field2 field3 field4withvariablelength ... field5with .. ..
たとえば、perl正規表現を使用してフィールド5を抽出する方法はありますか?
「スペースで区切る」と「インデックス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...
またはそう:
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...