gpt4 book ai didi

jenkins - groovy 捕获标准输出最后一行

转载 作者:行者123 更新时间:2023-12-04 13:22:42 25 4
gpt4 key购买 nike

我在提取标准输出以仅获得结果(最后(第二行))时遇到问题。

我有使用 groovy 脚本的 jenkins 管道,它执行以下操作:

    stage('Generate'){
stdout = bat([
returnStdout: true,
script: 'C:/folder/generate.exe --environment %ENVIRONMENT% --optionalproperties %OPTIONALPROPS%',
encoding: 'UTF-8'
]).trim();

如果我通过 echo stdout,要捕获此命令生成的内容,我会得到 stdout 为 -

C:\folder2\folder2>C:/folder1/generate.exe --environment PROD --optionalproperties 东西
12345678

所以我的结果是在新行中,12345678。我只需要捕获这个。

我以前用过这样做:
结果 = stdout.readLines().drop(1).split("")
我得到的只是 12345678。但它以某种方式停止了工作。

我设法找到了解决方法:

结果 = stdout.reverse().take(8).reverse()

它需要最后 8 个数字并提取它们。但这不是一个好的解决方案,因为我可能生成了更多或更少的数字,所以我需要一种正确的方法来提取它。

任何建议我可以尝试的其他方法,因为我不明白为什么 readLines() 没有给我任何结果,尽管批处理命令没有改变?

最佳答案

换句话说,您需要获得输出的最后一个字。
所以你可以这样做:

result = stdout.tokenize().last()

关于jenkins - groovy 捕获标准输出最后一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47937868/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com