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

如何使用Shell脚本在CSV文件每行首列插入projectid值

实现方法

你可以在循环内对gcloud的输出做一次预处理,把当前遍历的$projectid插入到每行的开头,修改后的完整代码如下:

# 先清空旧的结果文件,避免追加重复内容,不需要可删除
> temp_iam.csv

for projectid in `gcloud scc assets list <someorgID> \
   --filter="security_center_properties.resource_type=\"google.cloud.resourcemanager.Project\"" \
   --format="get(asset["securityCenterProperties"]["resourceDisplayName"])"`
do
    gcloud recommender recommendations list \
    --location=global \
    --recommender=google.iam.policy.Recommender \
    --project=$projectid \
    --format="csv[no-heading](content["overview"], content["operationGroups"])" | \
    # 用awk插入projectid到行首,同时处理多余的空白符
    awk -v pid="$projectid" '{gsub(/\s*,\s*/, ", "); print pid ", " $0}' >> temp_iam.csv
done

注意:请将代码中的<someorgID>替换为你实际的GCP组织ID。

改动说明

  • 修复了原命令中-- format的笔误,去掉了参数名中间多余的空格
  • 新增了awk预处理逻辑:通过-v pid="$projectid"将shell层的项目ID变量传入awk,每一行输出时将项目ID放在最前面
  • 用gsub处理了原输出中两列之间多余的制表符、空格,统一为, 分隔,和你需要的目标格式对齐

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 07:54:09