Blame


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