#!/bin/bash parse_json() { parent_prop=$1 prop=$2 # "'TODO: fix this hack' is the Snooze button of development" - @iamdevloper result=`echo $json \ | sed 's/\\\\\//\//g' \ | sed 's/^[\ ]*//g' \ | sed 's/[{}]//g' \ | awk -v k="$parent_prop" '{n=split($0,a,"\","); for (i=1; i<=n; i++) print a[i]}' \ | sed 's/\"\:\"/\|/g' \ | sed 's/"[\,]/ /g' \ | sed 's/\"//g' \ | grep "$prop|" \ | sed "s/^$prop|//g"` } parse_ubuntuusers_json() { json=`curl -s -X GET 'http://suckup.de/planet-ubuntuusers-json/json.php?callback='` parse_json "posts" "title" mapfile -t titles_array <<< "$result" parse_json "posts" "date" mapfile -t dates_array <<< "$result" counter=0 for i in "${titles_array[@]}"; do echo "${titles_array[$counter]} | ${dates_array[$counter]}" let counter+=1 done } parse_ubuntuusers_json echo "foobar: $counter - $i"