diff options
-rwxr-xr-x | bbc_news | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/bbc_news b/bbc_news new file mode 100755 index 0000000..11d04d6 --- /dev/null +++ b/bbc_news @@ -0,0 +1,37 @@ +#!/bin/sh + + +## +## +## Create an index in .gph format from a BBC news feed +## +## + +##IPREFIX="/tmp/rss_$$" +IPREFIX="tmp_$$" +INF="$1" + + +## function +to_gph(){ + + text=$(xml2 < "$1") + title=$(echo "$text" | grep "^/item/title=" | cut -d "=" -f 2) + descr=$(echo "$text" | grep "^/item/description=" | cut -d "=" -f 2 ) + link=$(echo "$text" | grep "^/item/link=" | cut -d "=" -f 2) + news_time=$(echo "$text" | grep "^/item/pubDate=" | cut -d "=" -f 2) + + printf "[i| |Err|server|port]\r\n" + printf "[h|${news_time} ${title}|URL:${link}|server|port]\r\n" + printf "[i|${descr}|Err|server|port]\r\n" + +} + + +num=$(curl -s "$INF" | csplit -f ${IPREFIX} - '/<item>/' '{*}' | wc -l) + +for i in $(seq -w 1 $(($num - 1))); do + to_gph ${IPREFIX}${i} +done + + |