BEGIN { nform="a %d %f %f %s %s %s %4s\n"; n0=9000; tmod="b" deltax=0; deltay=-.00005 } FILENAME~/.*\.241/ && FNR>1 && $7==0 { count[$1]++; line[++nlin]=$1; node=$3; index1[nlin]=$4; fn="trf"node".nam" if(nlin==1)printf("%s access\n%s egress\n",node,n0)>fn if(count[$1]==1)c=">"; else c="<"; printf("%s %s\n",nlin+n0,$1""c)>fn } FILENAME~/.*\.214/ { if($1=="t"){tab=$2;print $0; next} if($1=="a" && tab=="nodes"){ x=$3+(1+nlin)*deltax;y=$4+(1+nlin)*deltay; printf(nform,n0,x,y,$5,$6,$7,$8); for(n=1;n<=nlin;n++){ l=line[n]; if(line[n]==line[n-1])l=l"<"; else l=l">"; x=$3+(1+nlin-n)*deltax;y=$4+(1+nlin-n)*deltay; printf(nform,n0+n,x,y,index1[n],n,node,l); } } if($1=="a" && tab=="links"){ tm=""; om=""; for(i=1;i<=length($5);i++){ m=substr($5,i,1) if(index(tmod,m))tm=tm""m; else om=om""m; } if($3==node && tm!=""){ if(om!="")printf("m %s %s,,-%s\n",$2,$3,tm); else printf("d %s %s\n",$2,$3); $3=n0; $5=tm; if(tm!="")print $0; } if($2==node && om !=""){ $2=n0; $5=om; print $0; } } } FILENAME~/.*\.224/ { if($0~/path=no/)sub(/path=no/,"path=yes",$0); print $0; } FILENAME~/.*\.nam/ { label[$1]=$2 } FILENAME~/.*\.mat/ { if(NR==1)next; if(label[$2]=="egress"){ c=">" if(oline==$1)c="<" else printf("\n"); nline=sprintf("%5s%s:%7.0f",$1,c,$4) oline=$1 header="from/to egress" total=$4 i=1; tot[i]+=$4 next; } nline=nline""sprintf("%5.0f",$5) header=header "" sprintf("%5s",label[$2]) total+=$5 tot[++i]+=$5 if(label[$3]=="access"){ if(!head++){ printf("LINE-TO-LINE TRANSFERS AT NODE %s\n\n",$3); printf("%s total\n\n",header); } printf("%s%7.0f\n",nline,total); acc[++j]=$6 acctot+=$6 tottot+=total } } END { if(nlin){ for(n=n0;n