[英]perl regex to match “==” at end of line
我无法获取此perl语句以正确过滤输出文件。
perl -00 -wnl -e '
/Instance list size <\d+>\n(.+)\*\*end/s or die "error msg\n";
foreach my $line (split("\n", $1)) {
$line =~ /(==)$/ && print "\"$_\"" ;
}' $Output_File 2>&1
我感兴趣的输出是以==结尾的所有行。 但由于某种原因,当我运行它时,即使在只有8行和1个预期匹配的文件中,我也会获得22场比赛。
我不确定你为什么要使用-n
选项,并在你的脚本中仍然有一个foreach my $line ...
-n
的全部意义在于它会自动为您的脚本提供一行一行。
这是适合我的东西:
$ cat foo.txt
asdfasdfsadf asdf a== asfd a sdf
aasdf asdf asd f==
asdf asdf asdf sad fsdaf==
asdfasdfasdf sadfsadf=aa sdfasdf =
$ perl -ne "print if /==$/" < foo.txt
aasdf asdf asd f==
asdf asdf asdf sad fsdaf==
您可以随时尝试grep
: grep '==$' file.txt
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.