Analisando JSON na linha de comando para baixar avatares aleatórios

Eu precisava de avatares reais para um aplicativo protótipo. O UIFaces possui uma coleção de avatares que as pessoas autorizaram para este uso. Eles até têm uma API simples que fornece um avatar aleatório. Baixei alguns com este pequeno script simples:

curl http://uifaces.com/api/v1/random | jsawk 'parts = this.image_urls.normal.split("/"); file = parts[parts.length - 2] + "." + parts[parts.length - 1]; out(this.image_urls.normal); return file' | xargs -n 2 sh -c 'wget -O $2 $1' argv0

Nota: você precisa do jsawk para executá-lo. Estou em um mac, então foi fácil instalar com homebrew :brew install jsawk

Execute este comando se quiser baixar 100 avatares:

for i in {1..100}; do curl http://uifaces.com/api/v1/random | jsawk 'parts = this.image_urls.normal.split("/"); file = parts[parts.length - 2] + "." + parts[parts.length - 1]; out(this.image_urls.normal); return file' | xargs -n 2 sh -c 'wget -O $2 $1' argv0; done