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