Annotation of researchv10dc/man/man0/maketopic, revision 1.1.1.1

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: 

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.