Работает ли цикл do ... while в исходном awk? Или он был введен в более поздних реализациях (nawk, gawk, ...)? Можно ли считать, что nawk присутствует сегодня на всех платформах Unix?
Привет, Оливер
Цикл do while задокументирован в Solaris (o) awk, поэтому, вероятно, предшествовал новому стандарту [gn] awk.
Я считаю, что все текущие Unix / Unix-подобные платформы предоставляют либо gawk, nawk, либо совместимый awk.
На странице 49 из Язык программирования AWK книга Ахо, Вайнбергера и Кернигана (AWK), должна.
Однако я не видел современного варианта UNIX, который бы не обеспечивал nawk.
Он должен быть там. Если вы хотите использовать древний awk, запустите gawk с --traditional
вариант.
В соответствии с info gawk
в Приложении A, Раздел 1 «Основные изменения между V7 и SVR3.1»:
Язык awk значительно развился между выпуском версии 7 Unix (1978) и новой версией, которая впервые стала общедоступной в System V Release 3.1 (1987). Этот второстепенный узел суммирует изменения с перекрестными ссылками на более подробную информацию:
- Оператор `do '-' while '