使用jq不带双引号的JSON中的Concat数字

使用jq不带双引号的JSON中的Concat数字,json,jq,Json,Jq,我的文件每行有一个json文档,每个文档中都有start\u id和end\u id字段。我想使用jq来提取这些内容并将它们打印在同一行上 到目前为止,我已经: cat part* | jq '"\(.start_id) \(.end_id)"' | sed s/\"//g | head 这是可行的,但是我需要sed来删除双引号 为了改进我的jq-foo,有没有一种不使用sed的方法 e、 g.给定 {"start_id":1,"end_id":50} {"start_id":50,"end_

我的文件每行有一个json文档,每个文档中都有
start\u id
end\u id
字段。我想使用jq来提取这些内容并将它们打印在同一行上

到目前为止,我已经:

cat part* | jq '"\(.start_id) \(.end_id)"' | sed s/\"//g | head
这是可行的,但是我需要
sed
来删除双引号

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

e、 g.给定

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

而不是

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

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

幸运的是,
--raw output
-r
参数覆盖了该行为,因此字符串输出可以不带那些讨厌的引号;)


来源:

手头没有控制台,但您可以尝试使用
--原始输出
参数运行jq
"1 50"
"50 99"
"99 12"