使用JQ从JSON转换后CSV文件中的列名 [英] Column Name in the CSV file after converting from JSON using JQ

查看:20
本文介绍了使用JQ从JSON转换后CSV文件中的列名的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在我的CSV上添加栏目时遇到问题。

$ jq -r '.cveRules[] | [.effect, .id, .description, .expiration.date] | @csv' vulexemptioncmndt.json
"ignore","CVE-2020-8116","Package dot-prop 4.2.0, status: fixed in 5.1.1, 4.2.1","2021-02-27T23:00:00Z"
"ignore","CVE-2020-8252","Package node 10.21.0, status: fixed in 14.9.0, 12.18.4, 10.22.1","2021-02-27T23:00:00Z"
"ignore","CVE-2020-8265","Package node 10.21.0, status: fixed in 10.23.1","2021-02-27T23:00:00Z"

我应该添加什么命令才能得到结果

"Effect", "ID", "Description", "Expiration Date"
"ignore","CVE-2020-8116","Package dot-prop 4.2.0, status: fixed in 5.1.1, 4.2.1","2021-02-27T23:00:00Z"
"ignore","CVE-2020-8252","Package node 10.21.0, status: fixed in 14.9.0, 12.18.4, 10.22.1","2021-02-27T23:00:00Z"
"ignore","CVE-2020-8265","Package node 10.21.0, status: fixed in 10.23.1","2021-02-27T23:00:00Z"

推荐答案

如果您不介意将标题行视为任何其他csv行,则仅限JQ的解决方案是将所需标题名称的数组添加到筛选器中,如下所示:

["Effect", "ID", "Description", "Expiration Date"],
(.cveRules[] | [.effect, .id, .description, .expiration.date])
| @csv

如果希望更好地控制标题行,请将所需的标题行作为单字符串添加到筛选器前面。

这篇关于使用JQ从JSON转换后CSV文件中的列名的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆