/xkcd.sh
https://bitbucket.org/aweidner/bashxkcd · Shell · 48 lines · 39 code · 6 blank · 3 comment · 7 complexity · e29aa6a3573eca397c74aa4062f6c216 MD5 · raw file
- #!/bin/bash
- if [ $# -eq 1 ]; then
- #First check to see if we already have it
- yes=`ls | grep -o "${1}\.\(jpg\|png\)"`
- if [ `expr length $yes` -gt 0 ]; then
- echo 2
- exit
- fi
- #This means the user wants a specific comic
- wget -q "http://xkcd.com/${1}"
- if [ -f $1 ]; then
- image=`cat $1 | grep -o "http://imgs.xkcd.com/comics/[a-zA-Z1-9_()]\+\.\(jpg\|png\)" | head -1`
- wget -q $image
- file=${image:28}
- len=`expr length $image`
- t=${image:$len-4}
- if [ -f $file ]; then
- mv $file "${1}${t}"
- fi
- rm -f $1
- echo 0
- else
- echo 1
- fi
- else
- echo "Clearing directory, everything will be downloaded"
- counter=1
- e=`./xkcd.sh $counter`
- echo "Downloaded comic number ${counter}"
- while [ $e -ne 1 ]; do
- echo $e
- if [ $e -ne 2 ]; then
- sleep 5
- fi
- let counter=counter+1
- if [ $counter -eq 404 ]; then
- let counter=counter+1
- fi
- let e=`./xkcd.sh $counter`
- echo "Downloaded comic number ${counter}"
- done
- fi