使用YQ过滤数据后如何选择特定键

发布于 2025-02-10 05:10:45 字数 532 浏览 3 评论 0原文

myres.json

[
  {
    "id": "id_1",
    "name": "default",
  },
  {
    "id": "id_2",
    "name": "name2",
  },
  {
    "id": "id_3",
    "name": "name3",
  }
]

我只能获得nameid = 3 我能够使用yq sustrant命令

 yq -r '.[] | select(.id == "id_3" )' myres.json

和输出过滤对象,

{
    "id": "id_3",
    "name": "name3",  
}

然后用_entries , from_entries 尝试了,但没有运气。 提前致谢 !! 我正在使用kislyuk/yq 2.14.1版本

myres.json

[
  {
    "id": "id_1",
    "name": "default",
  },
  {
    "id": "id_2",
    "name": "name2",
  },
  {
    "id": "id_3",
    "name": "name3",
  }
]

I waanted to get only name whose id = 3
I am able to filter out the object using yq following command

 yq -r '.[] | select(.id == "id_3" )' myres.json

and output is

{
    "id": "id_3",
    "name": "name3",  
}

I tried with with_entries, from_entries but no luck.
Thanks in advance !!
I am using kislyuk/yq 2.14.1 version

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

烟凡古楼 2025-02-17 05:10:45

根据@Inian,根据我的要求,我的查询更改很少。

yq -r '.[] | select(.id=="id_2").name' s.txt

As Per @Inian, I made few changes in query as follows according to my requirements.

yq -r '.[] | select(.id=="id_2").name' s.txt
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文