【发布时间】:2017-06-08 23:24:03
【问题描述】:
在 jq 中,如何确保仅在被检查的对象中存在 k,v 时才创建它?例如,假设我有一个像这样的对象:
{
"student":{
"name": "george",
"age" : "15",
"quote": "Hello I am George"
}
}
我做cat text.txt | jq '{name: .student.name, quote: .student.quote}'
创建:
{
"name": "george",
"quote": "Hello I am George"
}
但是,有些条目是不完整的,我不想写一个空的K,V。假设我得到:
{
"student":{
"name": "Shirley"
}
}
使用上面的当前 jq 将创建:
{
"name": "Shirley",
"quote": " ",
}
有没有办法告诉 jq 只创建 'quote' 键,如果它存在(即不为空)?或者更一般地说,只有当它们存在于被检查的对象中时才创建所有键。
【问题讨论】:
-
你能更新一下实际使用的过滤器吗?
-
添加了过滤器。干杯。
-
事物是如何被创造出来的???