#!/bin/sh # # Nico Schottelius # Date: 25-May-2004 # Last Modified: 27-May-2004 # Get only the latest headlines from different news sites # Version: 0.3 # BASE_DIR=~/.get_news TMP=/tmp/$$-$UID-`date +%s` if [ $# -ne 1 ]; then echo "Go away. I want one argument." exit 666 fi USERFILE="$BASE_DIR/$1" case "$1" in heise) RDF=http://www.heise.de/newsticker/heise.rdf BEGIN_NEWS='' END_NEWS='<\/title>' NEWS_NAME="heise online news" ;; pro-linux) RDF=http://www.pl-forum.de/backend/pro-linux.rdf BEGIN_NEWS='<title>' END_NEWS='<\/title>' NEWS_NAME="Pro-Linux News" ;; *) "Go away. I don't know anything about $1." exit 23 esac # get curl -s "$RDF" | grep "$BEGIN_NEWS" | grep -v "$NEWS_NAME" | sed -e "s/$BEGIN_NEWS//g" -e "s/$END_NEWS//g" > "$TMP" [ -d "$BASE_DIR" ] || mkdir -p "$BASE_DIR" if [ ! -f "$USERFILE" ]; then cat "$TMP" else diff -u "$USERFILE" "$TMP" | grep ^+ | grep -v ^+++ 2>/dev/null | sed 's/^+//g' fi mv -f "$TMP" "$USERFILE" || rm -f "$TMP"