jq — фильтр для JSON прямо в bash. Незаменим при работе с API, конфигами и логами.
# достать поле
echo '{"name":"alice","age":30}' | jq '.name'
# из массива — все элементы
cat data.json | jq '.users[]'
# фильтр: только активные пользователи
cat data.json | jq '.users[] | select(.active == true)'
# выбрать только поля name и email
cat data.json | jq '.users[] | {name, email}'
map() применяет выражение к каждому элементу массива:
# увеличить все цены на 10%
jq '.items | map(.price * 1.1)' catalog.json
# получить список имён как bash-массив
mapfile -t names < <(jq -r '.users[].name' data.json)
-r убирает кавычки из строк — удобно для дальнейшей передачи в bash.
#linux #bash #json #jq #sysadmin
