2012-06-26 160 views
0

可能重复:
Parsing errors in awk blocks解析错误

在执行awk脚本我得到一个解析错误。我不知道这是什么。这里是脚本

`awk 'BEGIN 
{ 
INPUTFILE ='XXX'; iterator =0; 
requestIterator =0; 
storageFlag =T; 
printFlag =F; 
currentIteration =F; 
recordCount =1; 
    while (getline < "'"$INPUTFILE"'") 
    { 
     requestArray[requestIterator]++; 
     requestIterator++; 
    } 
} 
if ($1 ~ /RequestId/) 
{ 
     FS = "="; 
     if($2 in requestArray) 
     { 
       storage[iterator] =$0; 
       printFlag =T; 
       next 
     } 
     else 
     { 
       storageFlag =F; 
       next 
     } 
    } 
    else 
    { 
     if((storageFlag =='T' && $0 != "EOE")) 
     { 
      storage[iterator]=$0; iterator++; 
     } 
     else {if(storageFlag == 'F') 
     { 
      next 
     } 
     else 
     { 
      if(printFlag == 'T') 
      { 
       for(details in storage) 
      { 
       print storage[details] >> FILE1; 
       delete storage[details]; 
      } 
      printFlag =F; 
      storageFlag =T; 
      next 
     } 
} 

} } 'FILE2`

错误 的zsh:解析错误附近`}'

你能PPL请让我知道什么是错在这个脚本

回答

0

您的伙伴不匹配(13 x { vs 12 x }),所以您最后在最后关闭}你的脚本。

即,

next}}}}' FILE2 

应该是

next}}}}}' FILE2 
+0

谢谢you..Now解析错误已经但有两个语法错误EOE \)\){存储[迭代] = $ 0; iterator ++;} else {if(storageFlag == F){next} else {if(printFlag == T){for(details in storage){print storage [details] >> FILE1; delete storage [details];} printFlag = F; storageFlag = T;下一个}}}}}'FILE2 awk:^语法错误 我也不确定为什么包含额外的\ ... – User

+0

@用户很高兴解决了您对这个特定问题的问题。你现在提出的是我认为一个新问题,可能值得一个不同的SO问题。 *但是*我强烈建议您重新格式化脚本以使其更具可读性,因为它非常难以阅读。这也会让你更容易帮忙。另外,我不确定我是否理解你对“不确定为什么包含其他\”的评论。 – Levon

+0

。,谢谢..实际上我无法格式化代码,当我尝试编辑我的问题..我收到一个错误“你没有太多的代码解释”..我试了好几次......你可以请帮助我 – User