awk 语法错误:文件意外结尾



我得到一个:-bash:寻找匹配项"时意外的EOF。 -bash:语法错误:意外的文件结束错误,我不知道为什么。出于某种原因,它也没有告诉我错误在哪一行。任何帮助将不胜感激!

$ awk ‘BEGIN {
sent=0;
received=0;}
{
if($1 == ”s” && $19 == ”AGT”)
{sent++;}
else if($1 == “r” && $19 == ”AGT”)
{received++;}
}
END
{
printf “Packet Sent:%d”,sent;
printf “n Packet Received:%d”,received;
printf “n Packet Delivery Ratio:%.2fn”,(sent/received)*100;
}’

有几件事:

当你应该使用常规报价时,你正在使用花哨的报价。请注意,'不同,"不同。所以你应该解决这些问题。

此外,您的awk脚本存在语法错误,其中END{应与END本身位于同一行,就像BEGIN一样。


这是更正后的脚本(至少在我的机器上有效(:

awk 'BEGIN {
sent=0;
received=0;}
{
if($1 == "s" && $19 == "AGT")
{sent++;}
else if($1 == "r" && $19 == "AGT")
{received++;}
}
END {
printf "Packet Sent:%d",sent;
printf "n Packet Received:%d",received;
printf "n Packet Delivery Ratio:%.2fn",(sent/received)*100;
}'

最新更新