Query: shellyType=$(jq -r '.. | objects | select(.name == "'${shellyName}'") | .type' info_shelly.json) Append: jq --arg sN "${shellyName}" --arg sT "${shellyType}" --arg sU "${shellyUsage}" '.shellys += [{"name":$sN,"type":$sT,"usage":$sU}]' info_shelly.json > temp${shellyNr}.json Delete: Modify: jq '.shellys |= map( if .name == "shelly-14" then .usage="new" else . end)' info_shelly.json