1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
| # Length
echo '[1, 2, 3, 4, 5]' | jq 'length'
# 5
# Sum
echo '[1, 2, 3, 4, 5]' | jq 'add'
# 15
# Min/Max
echo '[3, 1, 4, 1, 5]' | jq 'min, max'
# 1
# 5
# Unique
echo '[1, 2, 2, 3, 3, 3]' | jq 'unique'
# [1, 2, 3]
# Group by
echo '[{"type": "a", "val": 1}, {"type": "b", "val": 2}, {"type": "a", "val": 3}]' | \
jq 'group_by(.type) | map({type: .[0].type, total: map(.val) | add})'
# [{"type": "a", "total": 4}, {"type": "b", "total": 2}]
# Sort
echo '[{"name": "Bob"}, {"name": "Alice"}]' | jq 'sort_by(.name)'
# [{"name": "Alice"}, {"name": "Bob"}]
|