74 lines
1.5 KiB
Plaintext
74 lines
1.5 KiB
Plaintext
|
#! /bin/sh
|
||
|
set x $*
|
||
|
. ./.param
|
||
|
|
||
|
trap "rm -f $TMPDIR/*$$; exit;" 2
|
||
|
|
||
|
for sec in $DIRLST
|
||
|
do
|
||
|
/bin/ls $MANDIR/man$sec > $TMPDIR/man${sec}$$
|
||
|
done
|
||
|
|
||
|
for sec in $DIRLST
|
||
|
do
|
||
|
cd $MANDIR/man$sec
|
||
|
dt=`date`
|
||
|
echo "$dt\n" > $TMPDIR/not.one.line$sec
|
||
|
echo "$dt\n" > $TMPDIR/name.order$sec
|
||
|
echo "$dt\n" > $TMPDIR/file.match$sec
|
||
|
echo "$dt\n" > $TMPDIR/no.TH$sec
|
||
|
echo "$dt\n" > $TMPDIR/no.NAME$sec
|
||
|
while read file
|
||
|
do
|
||
|
so=`line < $file | sed "s/ .*$//"`
|
||
|
if test "$so" = ".so"
|
||
|
then
|
||
|
continue
|
||
|
fi
|
||
|
grep "^.SH NAME" $file > /dev/null
|
||
|
if test $? -eq 1
|
||
|
then
|
||
|
echo $file >> $TMPDIR/no.NAME$sec
|
||
|
continue
|
||
|
fi
|
||
|
grep "^.SH SYNOPSIS" $file > /dev/null
|
||
|
if test $? -eq 0
|
||
|
then
|
||
|
lines=`cat $file | sed -n "/\.SH NAME/,/\.SH SYNOP/p" | wc -l | sed "s/ //g"`
|
||
|
else
|
||
|
lines=`cat $file | sed -n "/\.SH NAME/,/\.SH DESCR/p" | wc -l | sed "s/ //g"`
|
||
|
fi
|
||
|
if test $lines -gt 3
|
||
|
then
|
||
|
echo $file >> $TMPDIR/not.one.line$sec
|
||
|
continue
|
||
|
fi
|
||
|
th=`grep "^.TH" $file | line`
|
||
|
if test -z "$th"
|
||
|
then
|
||
|
echo $file >> $TMPDIR/no.TH$sec
|
||
|
continue
|
||
|
fi
|
||
|
set $th
|
||
|
name=`echo $2 | tr [A-Z] [a-z]`
|
||
|
suf=`echo $3 | tr [A-Z] [a-z]`
|
||
|
fname="${name}.$suf"
|
||
|
if test $fname != $file
|
||
|
then
|
||
|
echo $file >> $TMPDIR/file.match$sec
|
||
|
fi
|
||
|
ed - $file > $TMPDIR/tmp.$$ <<!
|
||
|
/^.SH NAME/+p
|
||
|
q
|
||
|
!
|
||
|
nname=`cat $TMPDIR/tmp.$$ | sed -e "s/ .*//" -e "s/,.*//"`
|
||
|
rm -f $TMPDIR/tmp.$$
|
||
|
if test $name != $nname
|
||
|
then
|
||
|
echo $file >> $TMPDIR/name.order$sec
|
||
|
fi
|
||
|
done < $TMPDIR/man${sec}$$
|
||
|
done
|
||
|
|
||
|
rm -f $TMPDIR/*$$
|