#!/bin/sh cd dump base=https://sdccd.instructure.com/api/v1/ get() { url=$base$1 curl -s -X GET "$url" -H "Authorization: Bearer $CANKEY" | tr '}' '\n' | sed -e 's/{//g' -e's/\[//g' -e 's/\]//g' -e 's/^,//g' } get users/self/folders > folders get users/self/files > files fi get_id() { < folders sed -e 's/,.*//g' -e 's/.*://g' } # Recursively resolve directories and files. # Empty response: [] get_dir() { id=$1 echo $id mkdir $id cd $id get folders/$id/files > files get folders/$id/folders > folders for i in $(get_id) do get_dir $i done cd .. } for i in $(get_id) do get_dir $i done