我需要找到行:
echo "PB702101 not executed"
在:
if test ${csis_batch_completion} -le ${csis_batch_warning} ;then
echo "Running PB702101"
run ${csis_obj}/PB702101
display_completion
else
echo "PB702101 not executed"
fi
我目前正在使用:
^(?!#)..echo ""((?!""))(\b.*?) not executed""$
但我一直收到
echo "Running PB702101"
run ${csis_obj}/PB702101
display_completion
else
echo "PB702101 not executed"
如何仅获得最后一次出现的带有"XXXX未执行"的回显?
2条答案
按热度按时间eyh26e7m1#
你可以试试这个。它排除了所有的预备文本,从而只得到最后一个文本。
https://regex101.com/r/TTTmwS/1
b4lqfgs42#
使用下面的正则表达式,您将把整个字符串与包含代码的捕获组(在您的示例中为PB702101)匹配,该捕获组位于最新的echo行之后:
这是用C#运行它的代码片段:
https://dotnetfiddle.net/SF5luh