0

入力が引用符付きのパイプ出力からのもので、コマンドがperl scroptに配置されているfindstrを使用しようとしています。二重引用符に一致できませんでした。例:私のアウトオブJavaコマンドは次のようなものです:

<violation beginline="30" endline="171" begincolumn="8" endcolumn="1" rule="something" ruleset="AllRules" package="com.mypackage priority="3">
<violation beginline="30" endline="171" begincolumn="8" endcolumn="1" rule="something" ruleset="AllRules" package="com.mypackage priority="5">

    our $currentViolationCount=`java Myclass | FINDSTR -i "priority=\"3\""`

FINDSTR -i ^"priority=\"3\"^" と FINDSTR -i ^"priority=\^"3\^"^" を試しましたが、どの行とも一致しません

4

2 に答える 2

0

またはコマンドラインワンライナーとして:

java Myclass|perl -wnpi -e 's/.*priority="(\d+)".*/$1/g
于 2013-09-18T21:00:17.230 に答える
0

Perl を使用して出力を処理します。エラーチェックもお忘れなく!

our $currentViolationCount=`java Myclass`;
if ($?){die "java Myclass is died, error: $!";}
my ($priority)=$currentViolationCount=~m!priority="\d+"!gis;
print "Found priority: $priority\r\n";
于 2013-09-18T09:13:17.367 に答える