来自JSON的Concat号码没有使用jq的双引号

Syn*_*sso 16 json jq

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

到目前为止,我有:

cat part* | jq '"\(.start_id) \(.end_id)"' | sed s/\"//g | head
Run Code Online (Sandbox Code Playgroud)

这有效,但我需要sed删除双引号.

为了改善我的jq-foo,有没有办法在不使用sed的情况下做到这一点?

例如给定

{"start_id":1,"end_id":50}
{"start_id":50,"end_id":99}
{"start_id":99,"end_id":12}
Run Code Online (Sandbox Code Playgroud)

得到

1 50
50 99
99 12
Run Code Online (Sandbox Code Playgroud)

代替

"1 50"
"50 99"
"99 12"
Run Code Online (Sandbox Code Playgroud)

小智 29

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

幸运的是,--raw-outputor -r参数会覆盖该行为,因此您的字符串输出可以没有那些讨厌的引号;)

资料来源:https://stedolan.github.io/jq/manual/