【问题标题】:Try to customize output with jq with string concatenation尝试使用带有字符串连接的 jq 自定义输出
【发布时间】:2023-04-04 02:59:01
【问题描述】:

我希望这个命令的输出在一行上:

$ lscpu -J | jq -r '.lscpu[] | select(.field=="CPU(s):").data + " x ", select(.field=="Model name:").data' 
4 x 
AMD A4-6210 APU with AMD Radeon R3 Graphics

所以我尝试了这个,但它输出......什么都没有:

$ lscpu -J | jq -r '.lscpu[] | select(.field=="CPU(s):").data + " x " + select(.field=="Model name:").data' 

【问题讨论】:

    标签: string concatenation jq


    【解决方案1】:

    您可以将这两个项目保留在一个列表中,然后将它们连接在一起:

    lscpu -J | jq -r '.lscpu |
                      map(select(.field |
                                 IN("CPU(s):","Model name:")
                                ).data
                         ) |
                      join(" x ")'
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-12-11
      • 2022-06-17
      • 2014-12-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多