#!/bin/bash parse_json() { local json=`cat $1` local parent_prop=$2 local prop=$3 # "'TODO: this hack' is the Snooze button of development" - @iamdevloper 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() { local temp_file=`mktemp` local json=`curl -s -X GET 'http://suckup.de/planet-ubuntuusers-json/json.php?callback=' -o $temp_file` local titles=`parse_json "$temp_file" "posts" "title"` local titles_array mapfile -t titles_array <<< "$titles" local dates=`parse_json "$temp_file" "posts" "date"` local dates_array mapfile -t dates_array <<< "$dates" local counter=0 i for i in "${titles_array[@]}"; do echo "${titles_array[$counter]} | ${dates_array[$counter]}" let counter+=1 done rm $temp_file } parse_ubuntuusers_json echo "foobar: $counter - $i"