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

如何将Satellite仓库ID、名称及RPM数量查询整合到循环中?

遍历Satellite仓库统计RPM包数量的脚本方案

可以用while read循环结合字段分隔符处理,把获取仓库列表和统计包数量的操作整合起来,完整脚本如下:

# 遍历所有仓库,统计每个仓库的RPM包数量
hammer --csv repository list | grep -v 'Id,Name' | while IFS=, read -r ID NAME; do
    # 获取当前仓库的包数量
    SUM=$(hammer repository info --id "${ID}" | grep Packages | awk '{ print $2 }')
    # 输出统计结果
    echo "仓库『${NAME}』的RPM包数量:${SUM}"
done

关键部分说明

  • IFS=,:设置字段分隔符为逗号,确保能正确拆分仓库ID和名称
  • read -r ID NAME:读取每一行的内容,分别赋值给ID和NAME变量
  • 循环内部复用你提供的hammer repository info命令提取包数量,然后格式化输出结果

如果需要把结果保存到文件,直接重定向输出即可:

hammer --csv repository list | grep -v 'Id,Name' | while IFS=, read -r ID NAME; do
    SUM=$(hammer repository info --id "${ID}" | grep Packages | awk '{ print $2 }')
    echo "仓库『${NAME}』的RPM包数量:${SUM}"
done > satellite_repo_package_counts.txt

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 05:10:31