Annotation of 43BSD/contrib/news/src/checkgroups.sh, revision 1.1

1.1     ! root        1: : check active file for missing or extra newsgroups
        !             2: : '@(#)checkgroups     1.12    1/17/86'
        !             3: 
        !             4: # Read first line of stdin.  If of the form "-n group", then only check
        !             5: # for the specified group.  Otherwise, assume doing net and fa.
        !             6: sed -e '/^[a-zA-Z-]*: /d' -e '/^$/d' -e '/^[#:]/d' | (
        !             7: read line
        !             8: case "${line}" in
        !             9: -n*)
        !            10:        # Doing specific group.  extract group name and preserve
        !            11:        # all of current newsgroups file except for that group.
        !            12:        # Then append entries for this group.
        !            13:        group=`echo ${line} | sed -e 's/-n /^/' -e 's/$/\\\\./'`
        !            14:        egrep -v "${group}" LIBDIR/newsgroups > /tmp/$$a
        !            15:        cat /tmp/$$a - > LIBDIR/newsgroups
        !            16:        ;;
        !            17: *)
        !            18:        group="^net\\.|^fa\\.|^mod\\."
        !            19:        egrep -v "${group}" LIBDIR/newsgroups > /tmp/$$a
        !            20:        cat /tmp/$$a > LIBDIR/newsgroups
        !            21:        echo "${line}" >> LIBDIR/newsgroups
        !            22:        cat >> LIBDIR/newsgroups
        !            23:        ;;
        !            24: esac
        !            25: echo junk >/tmp/$$a
        !            26: echo control >>/tmp/$$a
        !            27: sed 's/[ \     ].*//' LIBDIR/newsgroups |
        !            28:        egrep "${group}|^general" >>/tmp/$$a
        !            29: sort -u /tmp/$$a -o /tmp/$$a
        !            30: egrep "${group}|^general|^junk|^control" LIBDIR/active | sed 's/ .*//' | sort  -u >/tmp/$$b
        !            31: 
        !            32: comm -13 /tmp/$$a /tmp/$$b >/tmp/$$remove
        !            33: comm -23 /tmp/$$a /tmp/$$b >/tmp/$$add
        !            34: 
        !            35: if test -s /tmp/$$remove
        !            36: then
        !            37:        (
        !            38:        echo "The following newsgroups are not valid and should be removed."
        !            39:        sed "s/^/       /" /tmp/$$remove
        !            40:        echo ""
        !            41:        echo "You can do this by executing the command:"
        !            42:        echo \  LIBDIR/rmgroup `cat /tmp/$$remove`
        !            43:        echo ""
        !            44:        ) 2>&1 >/tmp/$$out
        !            45: fi
        !            46: 
        !            47: if test -s /tmp/$$add
        !            48: then
        !            49:        (
        !            50:        echo "The following newsgroups were missing and should be added."
        !            51:        sed "s/^/       /" /tmp/$$add
        !            52:        echo ""
        !            53:        echo "You can do this by executing the command(s):"
        !            54:        for i in `cat /tmp/$$add`
        !            55:        do
        !            56:                echo 'LIBDIR/inews -n control -d local -t "cmsg newgroup '$i'" </dev/null'
        !            57:        done
        !            58:        ) 2>&1 >>/tmp/$$out
        !            59: fi
        !            60: 
        !            61: if test -s /tmp/$$out
        !            62: then
        !            63:        (echo   "Subject: Problems with your active file"
        !            64:        echo ""
        !            65:        cat /tmp/$$out
        !            66:        ) | if test $# -gt 0
        !            67:                then
        !            68:                        mail $1
        !            69:                else
        !            70:                        cat
        !            71:                fi      
        !            72: fi
        !            73: )
        !            74: 
        !            75: rm -f /tmp/$$*

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.