我想从一个程序中获取窗口值的json输出。它当前的输出是:
[ 3067, 584 ] [ 764, 487 ]
但我需要它的格式如下:3067,584 764x487。我如何使用jq或其他命令来完成此操作?我对jq和json格式不是很有经验,所以我不确定从哪里开始。我试着查了一下,但还是不确定怎么做。
3067,584 764x487
brccelvz1#
不使用--slurp的解决方案是每隔一个阵列使用input:第一个Demo
--slurp
input
flmtquvp2#
如果输入的是JSON数组流,可以使用jq的-s/--slurp命令行选项。最后用空格连接两个字符串:
-s
$ 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])"'
2条答案
按热度按时间brccelvz1#
不使用
--slurp
的解决方案是每隔一个阵列使用input
:第一个
Demo
flmtquvp2#
如果输入的是JSON数组流,可以使用jq的
-s
/--slurp
命令行选项。最后用空格连接两个字符串:或者,只需使用字符串插值: