输入内容(somejson.json)是
{ "m1": "1 some m1", "m2": null , "m3" : "unwanted"}
{ "m1": "2 some m1", "m3" : "unwanted"}
{ "m1": "3 some m1", "m2": "3 some m2" , "m3" : "unwanted"}
{ "m1": "4 some m1", "m3" : "unwanted"}
Run Code Online (Sandbox Code Playgroud)
是否有提取选项,例如 m1. 如果存在的话还提取 m2 吗?
例子。对于 m1 我使用以下命令
cat somejson.json |jq '.m1'
Run Code Online (Sandbox Code Playgroud)
输出
"1 some m1"
"2 some m1"
"3 some m1"
"4 some m1"
Run Code Online (Sandbox Code Playgroud)
对于 m2 我使用以下命令
cat somejson.json |jq '.m2'
Run Code Online (Sandbox Code Playgroud)
输出
null
null
"3 some m2"
null
Run Code Online (Sandbox Code Playgroud)
但我想要一个合并结果,包括 m1 和 m2 ,如下所示
"1 some m1"
"2 some m1"
"3 some m1"
"3 some m2"
"4 some m1"
Run Code Online (Sandbox Code Playgroud)
获取两个值;null
如果它们不存在,它们就会存在。然后只需从结果中过滤空值即可。
<somejson.json jq '.m1, .m2 | select(. != null)'
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2425 次 |
最近记录: |