Blob


1 #!/usr/local/plan9/bin/rc
3 . 9.rc
5 # Usage: lookman key ...
6 # prints out the names of all manual pages containing all the given keywords
7 index=$PLAN9/man/lookman.index
8 t1=/tmp/look1.$pid
9 t2=/tmp/look2.$pid
10 fn sigexit sigint sighup sigterm{
11 rm -f $t1 $t2
12 exit 1
13 }
14 *=`{echo $*|tr A-Z a-z|tr -dc 'a-z0-9_ \012'} # fold case, delete funny chars
15 if(~ $#* 0){
16 echo usage: lookman key ... >[1=2]
17 exit 1
18 }
19 look $1 $index|sed 's/.* //'|sort -u >$t1
20 shift
21 for(i in $*){
22 look $i $index|sed 's/.* //'|sort -u|
23 awk 'BEGIN {
24 while (getline < "'$t1'" > 0) table[$0] = 1;
25 }
26 { if (table[$0]) print }
27 ' > $t2
28 mv $t2 $t1
29 }
30 sort $t1 | sed 's;/.*/man/man[0-9]*/;;
31 s;(.*)\.(.*);man \2 \1 # \1(\2);'
32 rm -f $t1 $t2
33 exit 0