【发布时间】:2013-09-19 05:00:17
【问题描述】:
我正在尝试使用 findstr,它的输入来自带有引号的管道输出,并且命令放置在 perl 脚本中。我无法匹配双引号。例如:我的 out of 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\^"^",但它不匹配任何行
【问题讨论】:
-
^表示一行的开头。 -
@devnull:在 Windows 世界中,
^是一个 shell 转义字符。 -
也许避免 FINDSTR 并在 perl 中进行字符串搜索更容易(而且更便携!)。