Aşağıdaki kodda bir değişkende bir model için grep yapmaya çalışıyorum. Değişkenin içinde çok satırlı bir metin var.Perl grep desen için çok satırlı çıkış
$output
yılında
satırlı metin bu
_skv_version=1
COMPONENTSEQUENCE=C1-
BEGIN_C1
COMPONENT=SecurityJNI
TOOLSEQUENCE=T1-
END_C1
CMD_ID=null
CMD_USES_ASSET_ENV=null_jdk1.7.0_80
CMD_USES_ASSET_ENV=null_ivy,null_jdk1.7.3_80
BEGIN_C1_T1
CMD_ID=msdotnet_VS2013_x64
CMD_ID=ant_1.7.1
CMD_FILE=path/to/abcI.vc12.sln
BEGIN_CMD_OPTIONS_RELEASE
-useideenv
Ben desen
use strict;
use warnings;
my $cmd_pattern = "CMD_ID=|CMD_USES_ASSET_ENV=";
my @matching_lines;
my $output = `cmd to get output` ;
print "output is : $output\n";
if ($output =~ /^$cmd_pattern(?:null_)?(\w+([\.]?\w+)*)/s) {
print "1 is : $1\n";
push (@matching_lines, $1);
}
ben $output
beklendiği gibi satırlı çıktı alıyorum ama regex desen maçı için grep kullanıyorum kod benziyor $output
üzerinde kullanıyorum bana herhangi bir sonuç vermiyor.
İstenilen düzenli ifadenin İlişkin çıkış
jdk1.7.0_80
ivy
jdk1.7.3_80
msdotnet_VS2013_x64
ant_1.7.1