You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从Jenkins控制台输出解析指定文本行并导出为CSV文件

Jenkins控制台指定日志提取生成两列CSV实现方案

核心思路

不用先落地存储全量控制台日志再二次处理,拉取日志时通过管道流式过滤、解析目标内容,直接生成符合格式要求的CSV文件,省磁盘空间处理速度也更快。

可直接复用的实现命令

在Jenkins的执行Shell步骤/Pipeline脚本中,替换原有全量保存日志的命令即可:

# 定义最终CSV输出路径
TARGET_CSV="${WORKSPACE}/RepoTestCaseCount.csv"

# 写入CSV固定表头
echo "Repo_URL,Number_Of_Testfiles" > "$TARGET_CSV"

# 拉取控制台输出,流式过滤解析后直接追加内容到CSV
wget -q -O - "${BUILD_URL}/consoleText" | \
# 精准匹配固定格式的目标日志行,过滤所有无关输出
grep -E '^NumberOfTestCases in https://.* are [0-9]+$' | \
# 按固定空格分隔格式提取URL和用例数,拼接为标准CSV行
awk '{print $3","$5}' >> "$TARGET_CSV"

可选兼容优化

如果后续仓库URL中可能出现逗号、空格等CSV特殊字符,可以把awk命令替换为以下写法,给URL字段包裹双引号,符合通用CSV格式规范,避免用表格工具打开时出现列错位:

awk '{print "\""$3"\","$5}' >> "$TARGET_CSV"

命令逻辑说明

  • wget -q -O -:静默模式拉取控制台文本,直接输出到标准流,不会生成存储全量日志的临时文件
  • grep匹配规则:仅识别行结构完全匹配NumberOfTestCases in <https开头URL> are <数字>的日志行,彻底过滤无关输出
  • 字段提取逻辑:固定日志格式下按空格拆分后,第3个字段为仓库URL、第5个字段为对应用例数,直接拼接为CSV格式行即可

内容的提问来源于stack exchange,提问作者Manoj Kumar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 00:12:27