| #!/usr/local/plan9/bin/rc |
| |
| . 9.rc |
| |
| # Usage: lookman key ... |
| # prints out the names of all manual pages containing all the given keywords |
| index=$PLAN9/man/lookman.index |
| t1=/tmp/look1.$pid |
| t2=/tmp/look2.$pid |
| fn sigexit sigint sighup sigterm{ |
| rm -f $t1 $t2 |
| exit 1 |
| } |
| *=`{echo $*|tr A-Z a-z|tr -dc 'a-z0-9_ \012'} # fold case, delete funny chars |
| if(~ $#* 0){ |
| echo usage: lookman key ... >[1=2] |
| exit 1 |
| } |
| look $1 $index|sed 's/.* //'|sort -u >$t1 |
| shift |
| for(i in $*){ |
| look $i $index|sed 's/.* //'|sort -u| |
| awk 'BEGIN { |
| while (getline < "'$t1'" > 0) table[$0] = 1; |
| } |
| { if (table[$0]) print } |
| ' > $t2 |
| mv $t2 $t1 |
| } |
| sort $t1 | sed 's;/.*/man/man[0-9]*/;; |
| s;(.*)\.(.*);man \2 \1 # \1(\2);' |
| rm -f $t1 $t2 |
| exit 0 |