11.1Smrg#! /bin/sh 21.2Sperry# 31.2Sperry# $NetBSD: cknames,v 1.2 1998/01/09 08:04:57 perry Exp $ 41.2Sperry# 51.1Smrgset x $* 61.1Smrg. ./.param 71.1Smrg 81.1Smrgtrap "rm -f $TMPDIR/*$$; exit;" 2 91.1Smrg 101.1Smrgfor sec in $DIRLST 111.1Smrgdo 121.1Smrg /bin/ls $MANDIR/man$sec > $TMPDIR/man${sec}$$ 131.1Smrgdone 141.1Smrg 151.1Smrgfor sec in $DIRLST 161.1Smrgdo 171.1Smrg cd $MANDIR/man$sec 181.1Smrg dt=`date` 191.1Smrg echo "$dt\n" > $TMPDIR/not.one.line$sec 201.1Smrg echo "$dt\n" > $TMPDIR/name.order$sec 211.1Smrg echo "$dt\n" > $TMPDIR/file.match$sec 221.1Smrg echo "$dt\n" > $TMPDIR/no.TH$sec 231.1Smrg echo "$dt\n" > $TMPDIR/no.NAME$sec 241.1Smrg while read file 251.1Smrg do 261.1Smrg so=`line < $file | sed "s/ .*$//"` 271.1Smrg if test "$so" = ".so" 281.1Smrg then 291.1Smrg continue 301.1Smrg fi 311.1Smrg grep "^.SH NAME" $file > /dev/null 321.1Smrg if test $? -eq 1 331.1Smrg then 341.1Smrg echo $file >> $TMPDIR/no.NAME$sec 351.1Smrg continue 361.1Smrg fi 371.1Smrg grep "^.SH SYNOPSIS" $file > /dev/null 381.1Smrg if test $? -eq 0 391.1Smrg then 401.1Smrg lines=`cat $file | sed -n "/\.SH NAME/,/\.SH SYNOP/p" | wc -l | sed "s/ //g"` 411.1Smrg else 421.1Smrg lines=`cat $file | sed -n "/\.SH NAME/,/\.SH DESCR/p" | wc -l | sed "s/ //g"` 431.1Smrg fi 441.1Smrg if test $lines -gt 3 451.1Smrg then 461.1Smrg echo $file >> $TMPDIR/not.one.line$sec 471.1Smrg continue 481.1Smrg fi 491.1Smrg th=`grep "^.TH" $file | line` 501.1Smrg if test -z "$th" 511.1Smrg then 521.1Smrg echo $file >> $TMPDIR/no.TH$sec 531.1Smrg continue 541.1Smrg fi 551.1Smrg set $th 561.1Smrg name=`echo $2 | tr [A-Z] [a-z]` 571.1Smrg suf=`echo $3 | tr [A-Z] [a-z]` 581.1Smrg fname="${name}.$suf" 591.1Smrg if test $fname != $file 601.1Smrg then 611.1Smrg echo $file >> $TMPDIR/file.match$sec 621.1Smrg fi 631.1Smrg ed - $file > $TMPDIR/tmp.$$ <<! 641.1Smrg /^.SH NAME/+p 651.1Smrg q 661.1Smrg! 671.1Smrg nname=`cat $TMPDIR/tmp.$$ | sed -e "s/ .*//" -e "s/,.*//"` 681.1Smrg rm -f $TMPDIR/tmp.$$ 691.1Smrg if test $name != $nname 701.1Smrg then 711.1Smrg echo $file >> $TMPDIR/name.order$sec 721.1Smrg fi 731.1Smrg done < $TMPDIR/man${sec}$$ 741.1Smrgdone 751.1Smrg 761.1Smrgrm -f $TMPDIR/*$$ 77