>%lfdat%s.xls gawk 'BEGIN{FS=OFS="\t"} NR==FNR{a=$2;b=$3} NR^>FNR{if (FNR==1)print; else {if ($1!~/^^u\.com$^|eu\.com$/) {sum=0;sz=0;if ($2~/^^+$/){sum+=$2;sz+=1;} if ($5~/^^+$/){sum+=$5;sz+=1} if ($6~/^^+$/){sum+=$6;sz+=1} if ($7~/^^+$/){sum+=$7;sz+=1} if ($8~/^^+$/){sum+=$8;sz+=1} if ($9~/^^+$/){sum+=$9;sz+=1} if ($12~/^^+$/){sum+=$12;sz+=1} if ($13~/^^+$/){sum+=$13;sz+=1} if ($14~/^^+$/){sum+=$14;sz+=1} if ($15~/^^+$/){sum+=$15;sz+=1} if ($16~/^^+$/){sum+=$16;sz+=1} if ($17~/^^+$/){sum+=$17;sz+=1} if ($18~/^^+$/){sum+=$18;sz+=1} if ($26=="Error" ^|^| $27=="Error"<img src="images/smilies/face-wink.png" align="absmiddle" border="0"> {$26=a;$27=b} if (sz!=0) $54=sum/sz; if ($43~/^^$/) {$41="F";$42="F"}print}}}' al.xls %lfdat:~-8%s.bak
IF NOT %week%==星期一 goto :skipthis
>%ldate%s.xls gawk 'BEGIN{FS=OFS="\t"} NR==FNR{a=$2;b=$3} NR^>FNR{if (FNR==1)print; else {if ($1!~/^^u\.com$^|eu\.com$/) {sum=0;sz=0;if ($2~/^^+$/){sum+=$2;sz+=1;} if ($5~/^^+$/){sum+=$5;sz+=1} if ($6~/^^+$/){sum+=$6;sz+=1} if ($7~/^^+$/){sum+=$7;sz+=1} if ($8~/^^+$/){sum+=$8;sz+=1} if ($9~/^^+$/){sum+=$9;sz+=1} if ($12~/^^+$/){sum+=$12;sz+=1} if ($13~/^^+$/){sum+=$13;sz+=1} if ($14~/^^+$/){sum+=$14;sz+=1} if ($15~/^^+$/){sum+=$15;sz+=1} if ($16~/^^+$/){sum+=$16;sz+=1} if ($17~/^^+$/){sum+=$17;sz+=1} if ($18~/^^+$/){sum+=$18;sz+=1} if ($26=="Error" ^|^| $27=="Error"<img src="images/smilies/face-wink.png" align="absmiddle" border="0"> {$26=a;$27=b} if (sz!=0) $54=sum/sz; if ($43~/^^$/) {$41="F";$42="F"}print}}}' al.xls %ldate:~-8%s.bak
>%ldat1%s.xls gawk 'BEGIN{FS=OFS="\t"} NR==FNR{a=$2;b=$3} NR^>FNR{if (FNR==1)print; else {if ($1!~/^^u\.com$^|eu\.com$/) {sum=0;sz=0;if ($2~/^^+$/){sum+=$2;sz+=1;} if ($5~/^^+$/){sum+=$5;sz+=1} if ($6~/^^+$/){sum+=$6;sz+=1} if ($7~/^^+$/){sum+=$7;sz+=1} if ($8~/^^+$/){sum+=$8;sz+=1} if ($9~/^^+$/){sum+=$9;sz+=1} if ($12~/^^+$/){sum+=$12;sz+=1} if ($13~/^^+$/){sum+=$13;sz+=1} if ($14~/^^+$/){sum+=$14;sz+=1} if ($15~/^^+$/){sum+=$15;sz+=1} if ($16~/^^+$/){sum+=$16;sz+=1} if ($17~/^^+$/){sum+=$17;sz+=1} if ($18~/^^+$/){sum+=$18;sz+=1} if ($26=="Error" ^|^| $27=="Error"<img src="images/smilies/face-wink.png" align="absmiddle" border="0"> {$26=a;$27=b} if (sz!=0) $54=sum/sz; if ($43~/^^$/) {$41="F";$42="F"}print}}}' al.xls %ldat1:~-8%s.bak
:skipthis
如上,后面两个文件的处理,如果直接用IF %week%==星期一 然后括号套住,就总是会出错,提示“此时不应有print“,print位置改过多次,皆无效。后来把if的套子修改成上面那NOT并skip过就正常了。 百思不得其解,请问这个是cmd的一个bug吗?或者还是我自己没处理好呢?
另,请问上面的命令能优化吗,其作用是求某些不连续范围的格子里,将存在数据的求平均值,类似Excel里的average命令。然后将al里的部分匹配到固定列的Error的地方。
麻烦各位帮助看一下,谢谢<img src="images/smilies/face-laugh.png" align="absmiddle" border="0">