home *** CD-ROM | disk | FTP | other *** search
- BEGIN { origin = "msu.edu"; FS = ":" }
- /^HOST/ {
- nf = split($0,f,FS)
- for (i=2; i<= 6; i++) {
- sub("^ *","",f[i])
- sub(" *$","",f[i])
- }
- ip = f[2]
- names = f[3]
- cpu = f[4]
- opsys = f[5]
- proto = f[6]
- opts = f[7]
- for (i=8; i <= nf; i++) opts = opts FS f[i]
- global = 0
- noabbr = 0;
- comment = "";
- for (;;) {
- sub("^ *","",opts)
- if (substr(opts,1,8) == "comment=") {
- comment = substr(opts,9,length(opts));
- break
- }
- c = index(opts,",")
- if (c) opt = substr(opts,1,c-1)
- else opt = opts
- sub(" *$","",opt)
- if (opt == "global") {
- global = 1;
- }
- if (opt == "noabbr") {
- noabbr = 1;
- }
- if (c) opts = substr(opts,c+1,length(opts))
- else break
- }
- if (cpu != "" || opsys != "") comment = opsys ": " cpu ": " comment
- nn = split(names,nlist,",")
- printf "%s\t", ip
- for (n=1; n <= nn; n++) {
- name = nlist[n];
- sub("^ *","",name)
- sub(" *$","",name)
- np = split(name,part,".")
- printf "%s ", name;
- if (np > 3 && global) printf "%s.%s.%s ",part[1], part[np-1], part[np];
- if (np > 1 && ! noabbr) printf "%s ", part[1];
- }
- if (comment != "") printf "\t# %s", comment
- printf "\n";
- next;
- }
- /^#/ { print }
- /^[0-9]/ { print }
- /^;/ { print "#" substr($0,2,length($0)) }
- /^MX:/ { print "#" $0 }
- { next }
-