|
|
1.1 ! root 1: #! /bin/sh ! 2: set x $* ! 3: . ./.param ! 4: ! 5: trap "rm -f $TMPDIR/*$$; exit;" 2 ! 6: ! 7: for sec in $DIRLST ! 8: do ! 9: /bin/ls $MANDIR/man$sec > $TMPDIR/man${sec}$$ ! 10: done ! 11: ! 12: for sec in $DIRLST ! 13: do ! 14: cd $MANDIR/man$sec ! 15: dt=`date` ! 16: echo "$dt\n" > $TMPDIR/not.one.line$sec ! 17: echo "$dt\n" > $TMPDIR/name.order$sec ! 18: echo "$dt\n" > $TMPDIR/file.match$sec ! 19: echo "$dt\n" > $TMPDIR/no.TH$sec ! 20: echo "$dt\n" > $TMPDIR/no.NAME$sec ! 21: while read file ! 22: do ! 23: so=`line < $file | sed "s/ .*$//"` ! 24: if test "$so" = ".so" ! 25: then ! 26: continue ! 27: fi ! 28: grep "^.SH NAME" $file > /dev/null ! 29: if test $? -eq 1 ! 30: then ! 31: echo $file >> $TMPDIR/no.NAME$sec ! 32: continue ! 33: fi ! 34: grep "^.SH SYNOPSIS" $file > /dev/null ! 35: if test $? -eq 0 ! 36: then ! 37: lines=`cat $file | sed -n "/\.SH NAME/,/\.SH SYNOP/p" | wc -l | sed "s/ //g"` ! 38: else ! 39: lines=`cat $file | sed -n "/\.SH NAME/,/\.SH DESCR/p" | wc -l | sed "s/ //g"` ! 40: fi ! 41: if test $lines -gt 3 ! 42: then ! 43: echo $file >> $TMPDIR/not.one.line$sec ! 44: continue ! 45: fi ! 46: th=`grep "^.TH" $file | line` ! 47: if test -z "$th" ! 48: then ! 49: echo $file >> $TMPDIR/no.TH$sec ! 50: continue ! 51: fi ! 52: set $th ! 53: name=`echo $2 | tr [A-Z] [a-z]` ! 54: suf=`echo $3 | tr [A-Z] [a-z]` ! 55: fname="${name}.$suf" ! 56: if test $fname != $file ! 57: then ! 58: echo $file >> $TMPDIR/file.match$sec ! 59: fi ! 60: ed - $file > $TMPDIR/tmp.$$ <<! ! 61: /^.SH NAME/+p ! 62: q ! 63: ! ! 64: nname=`cat $TMPDIR/tmp.$$ | sed -e "s/ .*//" -e "s/,.*//"` ! 65: rm -f $TMPDIR/tmp.$$ ! 66: if test $name != $nname ! 67: then ! 68: echo $file >> $TMPDIR/name.order$sec ! 69: fi ! 70: done < $TMPDIR/man${sec}$$ ! 71: done ! 72: ! 73: rm -f $TMPDIR/*$$
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.