我正在尝试修改以下代码段:
echo '{"a":{"value":"b"}, "c":{"value":"d"}}' \
| jq -r '. as $in | keys[] | [$in[.].value | tostring + " 1"] | @tsv'
b 1
d 1
输出:
b 1
b 2
d 1
d 2
答案 0 :(得分:2)
以下修改会产生所需的输出:
echo '{"a":{"value":"b"}, "c":{"value":"d"}}' |
jq -r '
def addindex(start;lessthan):
range(start;lessthan) as $i | "\(.) \($i)";
. as $in
| keys[]
| $in[.].value
| addindex(1;3)'
请注意,keys
会在对键名进行排序后发出,而keys_unsorted
会保留顺序。