【问题标题】:Convert messages to arrays using jq使用 jq 将消息转换为数组
【发布时间】:2023-02-16 22:26:01
【问题描述】:

我的消息生成器输出

$ ./messages.sh
{"a":"v1"}
{"b":"v2"}
{"c":"v3"}
...

所需输出

$ ./messages.sh | jq xxxxxx
[{"a":"v1"},{"b":"v2"}]
[{"c":"v3"},{"d":"v4"}]
...

【问题讨论】:

    标签: arrays json bash shell jq


    【解决方案1】:

    使用.获取第一项,使用input获取第二项。将两者都包装到数组括号中,并提供 -c 选项以实现紧凑输出。

    ./messages.sh | jq -c '[., input]'
    
    [{"a":"v1"},{"b":"v2"}]
    [{"c":"v3"},{"d":"v4"}]
    

    【讨论】:

      【解决方案2】:

      使用 slurp_nwise(2) 分块成 2 的部分:

      jq --slurp --compact-output '_nwise(2)' ii
      
      [{"a":"v1"},{"b":"v2"}]
      [{"c":"v3"},{"d":"v4"}]
      

      【讨论】:

        猜你喜欢
        • 2018-05-23
        • 1970-01-01
        • 1970-01-01
        • 2017-03-15
        • 2018-01-09
        • 1970-01-01
        • 2022-10-07
        • 2023-01-24
        • 2018-07-20
        相关资源
        最近更新 更多