在 Ubuntu 和 Mac 中的 awk 命令中执行 switch/case 时出错
Errors when executing switch/case in awk command in Ubuntu and Mac
我在执行以下代码时遇到一个很奇怪的问题:
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
安装 gawk 解决了我的问题:
sudo apt-get install gawk
在mac中:
sudo port install gawk
我在执行以下代码时遇到一个很奇怪的问题:
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
安装 gawk 解决了我的问题:
sudo apt-get install gawk
在mac中:
sudo port install gawk