如何在jq请求中只输出必要的信息

How to output only necessary information in jq request

我正在编写此 jq 请求以输出有关 cpu 的信息:

cat kubernetes.txt | jq 'fromjson.kubernetes.pod | .name, .cpu.usage.nanocores'

我的输出是:

"podname"
null
"podname1"
null
"podname2"
null
"podname3"
3345678
"podname3"
123456

如何只输出有值的字符串

您可以为此利用 select 函数:

cat kubernetes.txt | jq 'fromjson.kubernetes.pod | select(.cpu.usage.nanocores != null) | .name, .cpu.usage.nanocores'

https://stedolan.github.io/jq/manual/#Builtinoperatorsandfunctions