Ошибки при выполнении команды switch/case в awk в Ubuntu и 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

1 ответ

Решение

Установка gawk решила мою проблему:

sudo apt-get install gawk

в Mac:

sudo port install gawk
Другие вопросы по тегам