linux 使用jq格式化窗口值

ldioqlga  于 2022-11-22  发布在  Linux
关注(0)|答案(2)|浏览(116)

我想从一个程序中获取窗口值的json输出。它当前的输出是:

[
  3067,
  584
]
[
  764,
  487
]

但我需要它的格式如下:3067,584 764x487。我如何使用jq或其他命令来完成此操作?
我对jq和json格式不是很有经验,所以我不确定从哪里开始。我试着查了一下,但还是不确定怎么做。

brccelvz

brccelvz1#

不使用--slurp的解决方案是每隔一个阵列使用input
第一个
Demo

flmtquvp

flmtquvp2#

如果输入的是JSON数组流,可以使用jq的-s/--slurp命令行选项。最后用空格连接两个字符串:

$ jq -sr '[(.[0]|join(",")), (.[1]|join("x"))] | join(" ")' <<JSON
[
  3067,
  584
]
[
  764,
  487
]
JSON
3067,584 764x487

或者,只需使用字符串插值:

jq -sr '"\(.[0][0]),\(.[0][1]) \(.[1][0])x\(.[1][1])"'

相关问题