BEGIN{ i=0 k=1 kk=0 }{ if ($0=="Gradient in virtual-bond and SC vectors") found=1 if (found==1 && NF==0) found=2 if (found==2 && NF>0) { i=i+1 if (i>3) { i=1 k=k+6 } # print "###",i # print if (i==1) { # print "TTT",substr($0,0,3) if (!(substr($0,0,3) ~ /^[[:blank:]]*[0-9]*$/)) exit } if (found==2) { for (j=0;j<6;j++){ a[i,k+j]=strtonum(substr($0,4+j*12,12)) # print "OOO",i,j,k,k+j,a[i,k+j] # print "AAA",i,a[2,k+j] if(i==3 && a[2,k+j]!=0) { kk++ d[kk]=a[i,k+j] # print "III",i,j,k,kk,d[kk] } }} } }END{ diffmax=0 for (x in d){ diff=d[x]-1 if (diff<0)diff=-diff if (diff>diffmax) diffmax=diff } print "Largest abs(numerical/analytical)= ",diffmax print "Sorted:" n = asort(d,sorted) for (i = 1; i <= n; i++) printf "%4d %12.5E\n",i,sorted[i] }