Язык программирования AWK
Александр Бельченко
15 июня 2004
Awk
Awk это интерпретируемый язык для построчной обработки текстовых файлов.
Он издавна входит в комплект системных утилит Unix.
Awk это компактный С-подобный язык, который был создан для обработки форматированного текста.
Дампы баз данных и системные логи являются обычным примером.
Awk весь построен на работе с регулярными выражениями и образцами, так же, как и Perl.
Сказать правду, Perl это «правнук» awk.
Забавное имя awk (англ. awkward неуклюжий) происходит от имен авторов языка:
Алфреда Ахо (Alfred V. Aho), Брайана Кернигана (Brian W. Kernighan)
и Питера Вейнбергера (Peter J. Weinberger).
Первая версия языка была создана в 1977 году,
позже (в 1985) была создана новая версия awk, актуальная и поныне.
В документации на gawk GNU Awk приводится следующий шутливый рецепт, по которому был создан Awk:
1 часть egrep; 1 часть snobol; 2 части ed; 3 части C.
Хорошо смешать все части при помощи lex и yacc. Добавить минимум документации и выпустить релиз.
Через восемь лет добавить еще часть egrep и две дополнительные части C.
Снабдить хорошей документацией и выпустить релиз.
Поиск в Google выдает множество ссылок на документацию по awk.
Руководство по gawk находится на официальном сайте утилиты.
На русском языке довольно трудно найти хорошую документацию,
поэтому я бы рекомендовал консультироваться с английским первоисточником.
Gawk: Effective AWK Programming
официальное руководство на сайте разработчиков gnu.org.
Краткое пособие по gawk на русском языке.