我所拥有的文件,每行1个JSON文件和领域start_id和end_id每个文件内。我想使用jq提取这些并将它们打印在同一行上。
start_id
end_id
到目前为止,我有:
cat part* | jq '"\(.start_id) \(.end_id)"' | sed s/\"//g | head
这可行,但是我需要sed删除双引号。
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值。这意味着字符串用引号引起来。
jq
幸运的是,--raw-outputor -r参数会覆盖该行为,因此您的字符串输出可以摆脱那些讨厌的引号;)
--raw-output
-r
资料来源:https : //stedolan.github.io/jq/manual/