📄 cknames
字号:
#! /bin/shset x $*. ./.paramtrap "rm -f $TMPDIR/*$$; exit;" 2for sec in $DIRLSTdo /bin/ls $MANDIR/man$sec > $TMPDIR/man${sec}$$donefor sec in $DIRLSTdo 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}$$donerm -f $TMPDIR/*$$
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -