Awk - это язык программирования, предназначенный для сканирования и обработки образцов. Основным применением языка Awk является обработка текстовых документов. Она хорошо приспособлена к малым проектам, в которых необходимо форматирование и обработка текстовой информации, и имеет некоторые свойства, полезные при работе с базами данных. Ее основные функции обработки текстов вышли из семейства инструментов подобных Grep, операционной системы Юникс.
Структура программы на Awk
AWK - язык для обработки файлов текста. Файл рассматривается как последовательность записей, и без оговорок, каждая строка является записью. Каждая строка разбивается на последовательность полей, поэтому можно говорить о первом слове в строке как первое поле, второе слово - второе подобное. Программа на AWK является последовательностью утверждений типа шаблон-действие. AWK читает по одной строке за раз. Строка сканируется на соответствие каждому шаблону в программе, и в случае совпадения выполняется соответствующее действие. - Альфред Ахо.
Программа на AWK - последовательность пар типа шаблон-действие, записываются как:
условие {действие}
где условие обычно является выражением, а действие - последовательностью команд. Входные данные разделяются на записи, без оговорок разделяются пустой строкой, таким образом, входные данные разделяются на строки. Программа поочередно тестирует каждую запись на соответствие каждой из условий и выполняет действия, где выражения истинны.
Кроме таких простых условий, как, например, foo == 1 или / ^ foo /, условие может называться BEGIN или END, что соответствует выполнению перед началом чтения записей и по окончании обработки соответственно.