我在 Jenkins 管道作业中配置了 10 个 git 存储库,并包括对 scm 更改的轮询。现在关于 SCM 更改,我想知道在哪个存储库中进行了更改。
使用 groovy currentBuild.changeSets我能够获取作者姓名、提交消息和受影响的文件,但我无法找到如何获取存储库名称或 url。
如何使用 sed 将所有匹配项放入 Bash 数组?
我的输入是
<node><system_id>app1261.works.com</system_id><name>app1261</name></node><node><system_id>app1361.works.com</system_id><name>app1361</name></node><node><system_id>app1461.works.com</system_id><name>app1461</name></node>
Run Code Online (Sandbox Code Playgroud)
预期输出存储在数组中
app1261.works.com
app1361.works.com
app1461.works.com
Run Code Online (Sandbox Code Playgroud)
我正在尝试下面的命令,但它总是返回最后一个匹配项而不是所有匹配项。
sed -ne '{s/.*<system_id>\(.*\)<\/system_id>.*/\1/p;q;}' <<< "$xml"
Run Code Online (Sandbox Code Playgroud)
谁能帮我这个?