News Tracker

#!/bin/sh

CHANGE=5
CACHE_DIR=./cache

if [ ! -d $CACHE_DIR ]
then
        mkdir -p $CACHE_DIR
fi

for url in $*
do
        clean_url=`echo $url | tr '/~' '_+'`
        if [ -f $CACHE_DIR/$clean_url ]
        then
                # we have seen this url before
                lynx -dump $url > /tmp/news$$.tmp
                dl=`diff /tmp/news$$.tmp $CACHE_DIR/$clean_url | grep "^>" | wc -l | awk '{print $1}'`
                tl=`wc -l $CACHE_DIR/$clean_url | awk '{print $1}'`
                mv -f /tmp/news$$.tmp $CACHE_DIR/$clean_url
                if [ `expr $dl \* 100 / $tl` -gt $CHANGE ]
                then
                       echo "$url has changed by more than $CHANGE percent."
                fi
        else
                # we have not seen this url before
                lynx -dump $url > $CACHE_DIR/$clean_url
        fi
done