#! /bin/bash -e nl=" " update=false [[ $1 == --update ]] && update=true && shift urllist="$1" urllist="${urllist:=$HOME/files/urllist}" die() { echo "$*" >&2 exit 1 } checklist() { for i in $(<$urllist); do url=$(echo "$i" | cut -d " " -f 1) sum="$(wget -q $url -O - | grep -v javascript.*getTime | sort | md5sum | cut -d " " -f 1)" oldsum="$(echo "$i" | cut -d " " -f 2)" if [[ $sum = $oldsum ]]; then : else echo "$url has changed (old ${oldsum},new ${sum})" if $update; then sed -i "s/${oldsum}/${sum}/" $urllist echo "Checksum of $url updated" fi fi done } [[ -f $urllist ]] || die "Could not find $urllist, add list as an argument" IFS="$nl" msg="$(checklist)" [[ -n $msg ]] && echo "$msg"