#!/bin/bash MOUNTPOINTS=("/" "/mnt/ext") data="$(df -H)" as_json() { mountpoint="$1" res="$2" arr_res=($res) jq -n -c --monochrome-output \ --arg mountpoint "$mountpoint" \ --arg size "${arr_res[0]}" \ --arg used "${arr_res[1]}" \ --arg avail "${arr_res[2]}" \ --arg percent "${arr_res[3]}" \ '$ARGS.named' } output_json="[]" for mountpoint in "${MOUNTPOINTS[@]}"; do res="$(echo "$data" | awk -v m="$mountpoint" '$6 == m {print $2 " " $3 " " $4 " " $5}')" out="$(as_json "$mountpoint" "$res")" # echo "$output_json $out" | jq -c -s jq --argjson arr1 "$output_json" --argjson arr2 "[$out]" -n \ '$arr1 + $arr2' # mount_data+=("$mountpoint" $res) # echo "${mount_data[@]}" done # echo "${mount_data[@]}"