Blame


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