【发布时间】:2015-06-20 09:05:53
【问题描述】:
我在执行以下代码时遇到了一个很奇怪的问题:
awk '{ foo = 1; switch (foo) { case 1: i=i+1; break; } }' ./tcpheader.txt
出现以下错误:
awk: syntax error at source line 1
context is
{ foo = 1; switch (foo) >>> { <<<
awk: illegal statement at source line 1
awk: illegal statement at source line 1
知道有什么问题吗?
在 Mac 上测试:
awk --version
输出:
awk version 20070501
在 Ubuntu 上测试:
awk -W version
输出:
mawk 1.3.3 Nov 1996, Copyright (C) Michael D. Brennan
compiled limits:
max NF 32767
sprintf buffer 2040
【问题讨论】:
-
请将您的 awk 的名称和版本添加到您的问题中。 The switch statement is a gawk-specific feature.
-
@Cyrus 我添加了版本信息。
-
@RakholiyaJenish 我看到了,--enable-switch 没有帮助。
-
我想我必须安装 gawk 而不是默认的 awk ubuntu 和 mac awk 版本...