sfeed_markread - sfeed - RSS and Atom parser
 (HTM) git clone git://git.codemadness.org/sfeed
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
       sfeed_markread (754B)
       ---
            1 #!/bin/sh
            2 # Mark items as read/unread: the input is the read / unread URL per line.
            3 
            4 usage() {
            5         printf "usage: %s <read|unread> [urlfile]\n" "$0" >&2
            6         echo "" >&2
            7         echo "An urlfile must be specified as an argument or with the environment variable \$SFEED_URL_FILE" >&2
            8         exit 1
            9 }
           10 
           11 urlfile="${2:-${SFEED_URL_FILE}}"
           12 if [ -z "${urlfile}" ]; then
           13         usage
           14 fi
           15 
           16 case "$1" in
           17 read)
           18         cat >> "${urlfile}"
           19         ;;
           20 unread)
           21         tmp="$(mktemp)" || exit 1
           22         trap "rm -f ${tmp}" EXIT
           23         [ -f "${urlfile}" ] || touch "${urlfile}" 2>/dev/null
           24         LC_ALL=C awk -F '\t' '
           25         { FILENR += (FNR == 1) }
           26         FILENR == 1 { urls[$0] = 1 }
           27         FILENR == 2 { if (!urls[$0]) { print $0 } }
           28         END { exit(FILENR != 2) }' \
           29                 "-" "${urlfile}" > "${tmp}" && \
           30                 cp "${tmp}" "${urlfile}"
           31         ;;
           32 *)
           33         usage
           34         ;;
           35 esac