[英]How to use jq to extract keys and print them a certain amount of times depending on another keys value from a JSON file
So I'm trying to get the top-level keys and then multiply each one by the amount under each key then post the key as many times as the amount states.所以我试图获取顶级密钥,然后将每个密钥乘以每个密钥下的数量,然后将密钥发布与数量状态一样多的次数。
How do I get jq to take json like this:我如何让 jq 像这样服用 json:
{
"2tMRnry9cMqcMo5JqPWvyFaznoU8ujcf3i9ALpzokFHK": {
"mints": [
"Ehmx5dGtUtYSTRYDNptYSPLXs4ZSFmCPHvPd5ProtGPp",
"DZHynoX1yrwdppnNNZmBHqap89vziSehmhJP3BQESoaN",
"CVdM8fu474xaVxxuUzLsn7rxTA1mcrkpq8K7YYN4gRoc"
],
"amount": 3
},
"CVjVEB2WBmDACcovpxKAEqXZZKdUGsGAn2v5EsWSjtXX": {
"mints": [
"CPBsjXBKrG2QfRAkaPDJ282bXr7uD9259Ymb6EC93jjb"
],
"amount": 1
},
"Cndq2Yjt1MVkQPYiZod9eGZcTHFDhuYjJA7N6vAuVw8H": {
"mints": [
"66T698sRaJiyEXu6RrBw8ApNYsx1spkQQZZM9nZdA9EE",
"65QEUZVWMg12UvrRNcoV5DwVANKWaarHPd52KemV4pRy"
],
"amount": 2
}
}
and generate this output:并生成此 output:
2tMRnry9cMqcMo5JqPWvyFaznoU8ujcf3i9ALpzokFHK
2tMRnry9cMqcMo5JqPWvyFaznoU8ujcf3i9ALpzokFHK
2tMRnry9cMqcMo5JqPWvyFaznoU8ujcf3i9ALpzokFHK
CVjVEB2WBmDACcovpxKAEqXZZKdUGsGAn2v5EsWSjtXX
Cndq2Yjt1MVkQPYiZod9eGZcTHFDhuYjJA7N6vAuVw8H
Cndq2Yjt1MVkQPYiZod9eGZcTHFDhuYjJA7N6vAuVw8H
You can use to_entries
to access key and value, and range
to iterate:您可以使用to_entries
访问键和值,并range
进行迭代:
jq -r 'to_entries[] | range(.value.amount) as $_ | .key'
2tMRnry9cMqcMo5JqPWvyFaznoU8ujcf3i9ALpzokFHK
2tMRnry9cMqcMo5JqPWvyFaznoU8ujcf3i9ALpzokFHK
2tMRnry9cMqcMo5JqPWvyFaznoU8ujcf3i9ALpzokFHK
CVjVEB2WBmDACcovpxKAEqXZZKdUGsGAn2v5EsWSjtXX
Cndq2Yjt1MVkQPYiZod9eGZcTHFDhuYjJA7N6vAuVw8H
Cndq2Yjt1MVkQPYiZod9eGZcTHFDhuYjJA7N6vAuVw8H
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.