mirror of
https://github.com/9fans/plan9port.git
synced 2025-01-12 11:10:07 +00:00
33 lines
719 B
Bash
Executable file
33 lines
719 B
Bash
Executable file
#!/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
|