summaryrefslogtreecommitdiffstats
path: root/share/man/tools/cknames
diff options
context:
space:
mode:
Diffstat (limited to 'share/man/tools/cknames')
-rwxr-xr-xshare/man/tools/cknames73
1 files changed, 73 insertions, 0 deletions
diff --git a/share/man/tools/cknames b/share/man/tools/cknames
new file mode 100755
index 0000000..f1d018a
--- /dev/null
+++ b/share/man/tools/cknames
@@ -0,0 +1,73 @@
+#! /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/*$$
OpenPOWER on IntegriCloud