Annotation of researchv10dc/man/man0/maketopic, revision 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.