NAME

     prunehistory - remove file names from Usenet history file


SYNOPSIS

     prunehistory [ -f filename ] [ -p ] [ input ]


DESCRIPTION

     Prunehistory modifies the history(5) text file to ``remove''
     a  set  of  filenames from it.  The filenames are removed by
     overwriting them with spaces, so that the size and  position
     of any following entries does not change.

     Prunehistory reads the named input file, or  standard  input
     if  no file is given.  The input is taken as a set of lines.
     Blank lines and lines starting with a  number  sign  (``#'')
     are  ignored.   All  other  lines  are  should  consist of a
     Message-ID followed by zero or more filenames.

     The Messge-ID is used as the dbz(3) key  to  get  an  offset
     into  the  text  file.  If no filenames are mentioned on the
     input line, then all filenames in the text are  ``removed.''
     If  any filenames are mentioned, they are converted into the
     history file notation.  If they appear in the line  for  the
     specified Message-ID then they are removed.

     Since innd(8) only appends to the  text  file,  prunehistory
     does not need to have any interaction with it.


OPTIONS

     -p   Prunehistory will normally complain about lines that do
          not  follow  the correct format.  If the ``-p'' flag is
          used, then the program will silently print any  invalid
          lines on its standard output.  (Blank lines and comment
          lines are also passed through.)   This  can  be  useful
          when  prunehistory  is  used as a filter for other pro-
          grams such as reap.

     -f   The   default   name   of   the   history    file    is
          /news/etc/history; to specify a different name, use the
          ``-f'' flag.


EXAMPLES

     It is a good idea to delete purged entries and  rebuild  the
     dbz  database every so often by using a script like the fol-
     lowing:

          ctlinnd throttle "Rebuilding history database"
          cd /usr/local/news/etc
          awk 'NF > 2 {
               printf "%s\t%s\t%s", $1, $2, $3;
               for (i = 4; i <= NF; i++)
                    printf " %s", $i;

               print "\n";
          }' <history >history.n
          if makehistory -r -f history.n ; then
              mv history.n history
              mv history.n.pag history.pag
              mv history.n.dir history.dir
          else
              echo 'Problem rebuilding history; old file not replaced'
          fi
          ctlinnd go "Rebuilding history database"

     Note that this keeps no record of expired articles.


HISTORY

     Written by Rich $alz <rsalz@uunet.uu.net> for  InterNetNews.
     This is revision 1.9, dated 1996/10/29.


SEE ALSO

     dbz(3), history(5), innd(8).


































Man(1) output converted with man2html