我有下面的代码可以工作,但是| . [ ]
部分看起来很多余。
任何人都可以提出有关如何删除该代码的建议-最好提供有关其无效性的解释?
kubectl get pods -l app.kubernetes.io/name=esl-mops -o json |\
jq -r '[.items[] | {name:.metadata.name} ] | . [ ] .name'
答案 0 :(得分:0)
如果您说的是直觉告诉您,有一种更简单,更有效的方法来获取.metadata.name值,那么您就幸运了,因为管道可以简化为:
.items[] | .metadata.name
这避免了构造数组,构造对象和拆除所有零件的所有开销。
顺便说一句,这很好地说明了jq面向流的价值。这通常有助于使人们有可能为简单的问题提供简单的解决方案,并在有解决方案的情况下获得有效的解决方案。