5bc9b0c3ca
Fix inconsistencies between programs and their usage messages, correct instances where information seems to be missing or lost. This includes missing arguments, making usage consistent with manuals, and so on.
36 lines
730 B
Bash
Executable file
36 lines
730 B
Bash
Executable file
#!/bin/rc
|
|
# Usage: lookman key ...
|
|
# prints out the names of all manual pages containing all the given keywords
|
|
rfork e
|
|
index=/sys/lib/man/lookman/index
|
|
t1=/tmp/look1.$pid
|
|
t2=/tmp/look2.$pid
|
|
fn sigexit {
|
|
rm -f $t1 $t2
|
|
exit
|
|
}
|
|
fn sigint sighup sigterm {
|
|
rm -f $t1 $t2
|
|
exit note
|
|
}
|
|
|
|
*=`{echo $*|tr A-Z a-z|tr -dc 'a-z0-9_. \012'} # fold case, delete funny chars
|
|
if(~ $#* 0){
|
|
echo usage: lookman key ... >/fd/2
|
|
exit usage
|
|
}
|
|
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;/sys/man/;;
|
|
s;(.*)/(.*);man \1 \2 # \2(\1);'
|
|
exit ''
|