awk语法和非法语句错误

awk语法和非法语句错误,awk,Awk,我得到以下行的语法错误。不确定语法错误是什么 bash-3.2$ awk -F"|" '{ if ($4 != "N.A." && $29 =="1") printf("%s|testfile\n", $4) >> "out1.txt" else if ($4 != "N.A." && $29 =="2A") printf("%s|testfile\n", $4) >> "out2.txt" }' infile awk: syntax e

我得到以下行的语法错误。不确定语法错误是什么

bash-3.2$ awk -F"|" '{ if ($4 != "N.A." && $29 =="1") printf("%s|testfile\n", $4) >> "out1.txt" else if ($4 != "N.A." &&  $29 =="2A") printf("%s|testfile\n", $4) >> "out2.txt" }' infile
awk: syntax error near line 1
awk: illegal statement near line 1

您正在使用旧的、损坏的awk(/bin/awk,在Solaris上)。在Solaris上使用/usr/xpg4/bin/awk。

我认为您只是缺少了
“out1.txt”

之后,最好让我们知道您的操作系统详细信息,您可以遵循Ed的建议。在我使用/usr/xpg4/bin/awk时出错<代码>/usr/xpg4/bin/awk:语法错误上下文是:>>>intf(“%s | testfile\n”,$4)>>“out1.txt”,其他完全不同的问题。然后,如果你自己无法解决这个问题,请提出一个新问题。谢谢。这很有帮助,谢谢。这有帮助。