我目前正在尝试编写awk脚本,但是,我遇到了do ... while循环的问题。
-bash-3.00$ cat basicloop.awk
BEGIN { count = 1
do {
print "stuff"
} while ( count != 1 )
}
当我运行它时:
-bash-3.00 $ awk -f basicloop.awk
awk:第3行附近的语法错误
awk:第3行附近的非法声明
awk:第5行附近的语法错误
awk:在第5行附近拯救
{
count=1
do {
print "I get printed at least once no matter what"
} while ( count != 1 )
}
awk:第3行附近的语法错误
awk:第3行附近的非法声明
awk:第5行附近的语法错误
awk:在第5行附近拯救
正如你所看到的,这些都是非常简单的......循环而我不知道为什么他们会遇到问题。后者直接来自:http://www.ibm.com/developerworks/library/l-awk2/,前者是我对它的看法。
-bash-3.00$ nawk -f basicloop.awk
stuff
在nawk中运行完全相同的文件似乎可以让它们正常工作,但是,正如上面和下面所示。
I get printed at least once no matter what
解决方法显然是以nawk的形式运行它们,但我很快就能理解问题并修复它(如果可能的话),而不是简单地忽略它。