|
|
1.1 root 1: mkdir tjunk 2>/dev/null
2: cd tjunk
3: rm [12]* 2>/dev/null
4: for i in /usr/man/man[1-9]/*
5: do
6: awk '
7: /^\.TH/ {
8: page = $2 "(" $3 ")"
9: }
10: /^\.CT/ {
11: page = FILENAME
12: sub(/.*\//,"",page)
13: n=gsub(/\./,"(",page)
14: if(n>1)
15: for(i=1;i<n;i++)
16: sub(/\(/,".",page)
17: sub(/$/,")",page)
18: section = $2
19: for(i=3;i<=NF;i++){
20: if(length($i) >10)sname[substr($i,1,10)]
21: else sname[$i] = 1
22: }
23: }
24: /^\.SH NAME/ {
25: while(getline && $0 !~ /^\./)
26: name = name $0
27: for(i in sname)
28: print name " " page >>( section "." i)
29: exit
30: }' $i
31: done
32: for i in 1* 2*
33: do
34: sort $i >s$i
35: awk "
36: BEGIN {FS = \" \" }
37: {
38: st = \"\"
39: if(length(\$1) > 107){
40: n=split(\$1, arr, \"\\\\\")
41: print \".ne 2\"
42: if(length(arr[1]) > 100){
43: m=split(arr[1], l, \",\")
44: for(i=1;i<m;i++){
45: st = st l[i] \",\"
46: if(length(st) >= 90){
47: print st \" \" \$2
48: st = \"\"
49: }
50: }
51: st = st l[m]
52: print \".ti .5i\"
53: if(length(st)+length(arr[2])>=90){
54: print st
55: print \".ti .5i\"
56: print \" \\\\\" arr[2]
57: }
58: else print st \" \\\\\" arr[2]
59: next
60: }
61: if(length(arr[2]) > 100){
62: m=split(arr[2],l,\",\")
63: st = arr[1] \" \\\\\"
64: for(i=1;i<m;i++){
65: st = st l[i] \",\"
66: if(length(st) >= 90){
67: if(flag==0)print st \" \" \$2
68: else print st
69: flag=1
70: print \".ti .5i\"
71: st = \"\"
72: }
73: }
74: st = st l[m]
75: print st
76: next
77: }
78: print arr[1] \" \" \$2
79: print \".ti .5i\"
80: print \"\\\\\" arr[2]
81: next
82: }
83: print \$0
84: }
85: " s$i >$i
86: done
87: awk "
88: BEGIN { FS = \" \" }
89: {
90: if(\$1 ~ /[0-9]/){
91: section = \$1
92: print \".yy \\\"\" \$2 \"\\\"\"
93: next
94: }
95: if(\$1 == \"\")next
96: print \".xx \\\"\" \$2 \"\\\"\"
97: if(length(\$1 > 10))
98: name = substr(\$1,1,10)
99: else name = \$1
100: system(\"cat \" section \".\" name)
101: }" /usr/man/man0/categories >topindex
102: exit
103: #rm 1* 2* s[12]* x[12]*
104: mv topindex ..
105: cd ..
106: rmdir tjunk
107:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.