【问题标题】:get json output with jq comma separated duplicate my output使用 jq 逗号分隔获取 json 输出重复我的输出
【发布时间】:2020-11-16 11:52:51
【问题描述】:

我试图在同一行逗号分隔的查询中获取 2 个 json 寄存器,但总是重复我的输出。 请问你能帮帮我吗?谢谢

bash-4.2$ rm run works:status::get -s "ctm=SERVERA&work=*&status=Failed" | $PATH_API/jq -r '.statuses[].name, .statuses[].jobId  // empty' --raw-output
JOBA
JOBA
SERVERA:0rhh0
SERVERA:0rhgz

bash-4.2$
bash-4.2$ rm run works:status::get -s "ctm=SERVERA&work=*&status=Failed" | $PATH_API/jq -r '"\(.statuses[].name), \(.statuses[].jobId)"'  --raw-output
JOBA, SERVERA:0rhh0
JOBA, SERVERA:0rhh0
JOBA, SERVERA:0rhgz
JOBA, SERVERA:0rhgz

【问题讨论】:

    标签: json bash iteration export-to-csv jq


    【解决方案1】:

    你应该只枚举一次:

    .statuses[] | "\(.name), \(.jobId)"
    

    顺便说一句,您可能希望考虑使用@csv 而不是插值。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-09-08
      • 1970-01-01
      • 2011-07-14
      • 2019-03-08
      • 2021-06-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多