使用 jq 连接 JSON 中没有双引号的数字

Concat numbers from JSON without doublequotes using jq

我的文件每行有 1 个 json 个文档,每个文档中有字段 start_idend_id。我想使用 jq 提取这些并将它们打印在同一行上。

到目前为止我有:

cat part* | jq '"\(.start_id) \(.end_id)"' | sed s/\"//g | head

这行得通,但我需要 sed 来删除双引号。

为了改进我的 jq-foo,有没有办法 不使用 sed

例如给出

{"start_id":1,"end_id":50}
{"start_id":50,"end_id":99}
{"start_id":99,"end_id":12}

得到

1 50
50 99
99 12

而不是

"1 50"
"50 99"
"99 12"

默认情况下,jq 将其输出格式化为有效的 JSON 值。这意味着字符串用引号引起来。

幸运的是,--raw-output-r parameter overrides 这种行为使您的字符串输出可以没有那些讨厌的引号。