格式化 array/object 时出现 Jq tsv 错误
Jq tsv error in formatting an array/object
我有 json 文件,我可以使用以下命令循环并获取所需的值。我试图获得一些将这些值显示为 table 格式的见解。我正在使用 @tsv
但出现错误 object ({"release":...) cannot be tsv-formatted, only array
。我怎样才能得到下面的输出显示?
我想要的输出如下所示:
Release Installed Latest Old Deprecated
------- --------- ------ --- ----------
test-app 1.0.0 2.0.0 true false
jq:
cat test.json | jq '.test[] | select((.outdated or .deprecated) and ((.release|startswith("update")) | not) and ((.release|startswith("upgrade")) | not))'
json:
{
"test": [{
"release": "myapp1",
"Installed": {
"version": "0.3.0",
"appVersion": "v1.2.6"
},
"Latest": {
"version": "",
"appVersion": ""
},
"outdated": false,
"deprecated": false
}, {
"release": "myapp2",
"Installed": {
"version": "6.5.13",
"appVersion": "1.9.1"
},
"Latest": {
"version": "",
"appVersion": ""
},
"outdated": false,
"deprecated": false
}, {
"release": "test-app",
"Installed": {
"version": "1.0.0",
"appVersion": ""
},
"Latest": {
"version": "2.0.0",
"appVersion": ""
},
"outdated": true,
"deprecated": false
}, {
"release": "update-app",
"Installed": {
"version": "1.0.0",
"appVersion": ""
},
"Latest": {
"version": "3.0.0",
"appVersion": ""
},
"outdated": true,
"deprecated": false
}, {
"release": "upgrade-app",
"Installed": {
"version": "2.0.0",
"appVersion": ""
},
"Latest": {
"version": "2.0.0",
"appVersion": ""
},
"outdated": false,
"deprecated": true
}]
}
@csv
和 @tsv
都需要一个数组作为输入,因此您可以将以下内容附加到您的 jq 过滤器中:
| [.release, .Installed.version, .Latest.version, .outdated, .deprecated]
| @tsv
我有 json 文件,我可以使用以下命令循环并获取所需的值。我试图获得一些将这些值显示为 table 格式的见解。我正在使用 @tsv
但出现错误 object ({"release":...) cannot be tsv-formatted, only array
。我怎样才能得到下面的输出显示?
我想要的输出如下所示:
Release Installed Latest Old Deprecated
------- --------- ------ --- ----------
test-app 1.0.0 2.0.0 true false
jq:
cat test.json | jq '.test[] | select((.outdated or .deprecated) and ((.release|startswith("update")) | not) and ((.release|startswith("upgrade")) | not))'
json:
{
"test": [{
"release": "myapp1",
"Installed": {
"version": "0.3.0",
"appVersion": "v1.2.6"
},
"Latest": {
"version": "",
"appVersion": ""
},
"outdated": false,
"deprecated": false
}, {
"release": "myapp2",
"Installed": {
"version": "6.5.13",
"appVersion": "1.9.1"
},
"Latest": {
"version": "",
"appVersion": ""
},
"outdated": false,
"deprecated": false
}, {
"release": "test-app",
"Installed": {
"version": "1.0.0",
"appVersion": ""
},
"Latest": {
"version": "2.0.0",
"appVersion": ""
},
"outdated": true,
"deprecated": false
}, {
"release": "update-app",
"Installed": {
"version": "1.0.0",
"appVersion": ""
},
"Latest": {
"version": "3.0.0",
"appVersion": ""
},
"outdated": true,
"deprecated": false
}, {
"release": "upgrade-app",
"Installed": {
"version": "2.0.0",
"appVersion": ""
},
"Latest": {
"version": "2.0.0",
"appVersion": ""
},
"outdated": false,
"deprecated": true
}]
}
@csv
和 @tsv
都需要一个数组作为输入,因此您可以将以下内容附加到您的 jq 过滤器中:
| [.release, .Installed.version, .Latest.version, .outdated, .deprecated]
| @tsv