#!/bin/sh from=$msg_from subj="New files at 2:5053/2.35" newsgrp="eastsoft.fido.files" awk ' BEGIN { RS = "" } NF >= 6 { tarea = $2 tfile = $4 tsize = $6 for(i = 7; i <= NF; i++) $(i - 6) = $i NF -= 6 tdesc = $0 print tarea, tfile, tsize, tdesc } ' | sort | awk -v from="$from" -v subj="$subj" -v newsgrp="$newsgrp" ' BEGIN { print "From: " from print "Subject: " subj print "Newsgroups: " newsgrp otarea = "" acnt = 0; gcnt = 0; asize = 0; gsize = 0 spcstr = " " maxlen = 78 } NF >= 3 { tarea = $1 tfile = $2 tsize = $3 for(i = 4; i <= NF; i++) $(i - 3) = $i NF -= 3 tdesc = $0 if(otarea != tarea) { if(otarea != "") { print "\ ------------------------------------------------------------------------------" printf "\ %10d byte(s) in %4d file(s)\n", asize, acnt acnt = 0; asize = 0 } printf "\nArea: %s\n", tarea print "\ -File---------- -----Size- -Description---------------------------------------" otarea = tarea } str = sprintf("%-15s %10d", tfile, tsize) wrdcnt = split(tdesc, adesc) for(i = 1; i <= wrdcnt; i++) { if((length(str adesc[i]) + 1) > maxlen) { print str str = spcstr adesc[i] } else str = str " " adesc[i] } print str acnt += 1; gcnt += 1; asize += tsize; gsize += tsize } END { print "\ ------------------------------------------------------------------------------" printf "\ %10d byte(s) in %4d file(s)\n", asize, acnt printf "\n\ Total: %10d byte(s) in %4d file(s)\n", gsize, gcnt } ' | /usr/bin/inews -hR # sendmail -f$msg_from root # /usr/bin/inews -f FileFix -n fido.110.STAT -t "New file arrived"