Эффективное программирование на языке AWK.
Руководство пользователя для GNU Awk
Предисловие
История awk и gawk
Проект GNU и эта книга
Благодарности
1. Введение
1.1 Как использовать эту книгу.Темные углы
1.2 Типографские соглашения
1.3 Файлы с данными для примеров
2. Начало awk
2.1 Роза под другим именем
2.2 Как выполнять awk-программу
2.2.1 Одноразовые awk-программы
2.2.2 Выполнение awk без входных файлов
2.2.3 Выполнение длинных программ
2.2.4 Исполнимые awk-программы
2.2.5 Комментарии в awk-программах
2.3 Очень простой пример
2.4 Пример с двумя правилами
2.5 Более сложный пример
2.6 awk-операторы и строки
2.7 Другие свойства awk
2.8 Когда употреблять awk
3. Полезные однострочные программы
4. Регулярные выражения
4.1 Как использовать регулярные выражения
4.2 Управляющие последовательности
4.3 Операторы регулярных выражений
4.4 Дополнительные операторы Regexp, только в gawk
4.5 Чувствительность к регистру в соответствиях
4.6 Как много текста соответствует?
4.7 Употребление динамических Regexps
"Эффективное AWK-программирование"
5. Чтение входных файлов
5.1 Как ввод разделяется на записи
5.2 Обследование полей
5.3 Непостоянные количества полей
5.4 Изменение содержимого поля
5.5 Указание, как разделять поля
5.5.1 Основы разделения полей
5.5.2 Использование регулярных выражений для разделения полей
5.5.3 Превращение каждого знака в отдельное поле
5.5.4 Установка FS из командной строки
5.5.5 Обзор разделения полей
5.6 Чтение данных фиксированной ширины
5.7 Многострочные записи
5.8 Явный ввод по getline
5.8.1 Введение в getline
5.8.2 Использование getline без аргументов
5.8.3 Использование getline в переменную
5.8.4 Использование getline из файла
5.8.5 Использование getline в переменную из файла
5.8.6 Использование getline из конвейера
5.8.7 Использование getline в переменную из конвейера
5.8.8 Обзор вариантов getline
6. Печатный вывод
6.1 Оператор print
6.2 Примеры операторов print
6.3 Выходные разделители
6.4 Управление численным выводом с помощью print
6.5 Использование операторов printf для декоративной печати
6.5.1 Введение в оператор printf
6.5.2 Буквы управления форматом
6.5.3 Модификаторы в форматах для printf
6.5.4 Примеры употребления printf
6.6 Перенаправление вывода от print и printf
6.7 Специальные файловые имена в gawk
6.8 Закрытие входных и выходных файлов и конвейеров
7. Выражения
7.1 Постоянные выражения
7.1.1 Численные константы и константы-цепочки
7.1.2 Постоянные регулярные выражения
7.2 Использование постоянных регулярных выражений
7.3 Переменные
7.3.1 Использование переменных в программе
7.3.2 Присваивание переменным в командной строке
7.4 Конверсии цепочек и чисел
7.5 Арифметические операторы
7.6 Конкатенация цепочек
7.7 Выражения присваивания
7.8 Операторы увеличения и уменьшения
7.9 True и False в awk
7.10 Типы переменных и сравнительные выражения
7.11 Булевские выражения
7.12 Условные выражения
7.13 Вызовы функций
8. Образцы и действия
8.1 Элементы образцов
8.1.1 Типы образцов
8.1.2 Регулярные выражения как образцы
8.1.3 Выражения как образцы
8.1.4 Указание диапазонов записей с помощью образцов
8.1.5 Специальные образцы BEGIN и END
8.1.5.1 Начальные и заключительные действия
8.1.5.2 Ввод/вывод от правил BEGIN и END
8.1.6 Пустой образец
8.2 Обзор действий
9. Управляющие операторы в действиях
9.1 Операторы if-else
9.2 Оператор while
9.3 Оператор do-while
9.4 Оператор for
9.5 Оператор break
9.6 Оператор continue
9.7 Оператор next
9.8 Оператор nextfile
9.9 Оператор exit
Эффективное AWK-программирование
10. Встроенные переменные
10.1 Встроенные переменные, которые управляют действиями awk
10.2 Встроенные переменные, которые передают информацию
10.3 Использование ARGC и ARGV
11. Массивы в awk
11.1 Введение в массивы
11.2 Ссылка на элемент массива
11.3 Присваивания элементам массивов
11.4 Основные примеры массивов
11.5 Перебор всех элементов массива
11.6 Оператор delete
11.7 Использование чисел в индексах массивов
11.8 Использование неинициализированных переменных в индексах
11.9 Многомерные массивы
11.10 Сканирование многомерных массивов
12. Встроенные функции
12.1 Вызов встроенных функций
12.2 Числовые встроенные функции
12.3 Встроенные функции для действий с цепочками
12.4 Встроенные функции для ввода/вывода
12.5 Функции для обработки отметок времени
13. Функции, определенные пользователем
13.1 Синтаксис определения функции
13.2 Примеры определения функций
13.3 Вызов пользовательских функций
13.4 Оператор return
14. Запуск awk
14.1 Параметры командной строки
14.2 Другие аргументы командной строки
14.3 Переменная окружения AWKPATH
14.4 Устаревшие параметры и/или свойства
14.5 Недокументированные параметры и свойства
14.6 Известные ошибки в gawk
15. Библиотека функций awk
15.1 Моделирование специфичных для gawk свойств
15.2 Реализация nextfile как функции
15.3 Контроль
15.4 Округление чисел
15.5 Преобразования знаков в числа и обратно
15.6 Перевод массива в цепочку
15.7 Превращение дат в отметки времени
15.8 Преобразования суточного времени
15.9 Отметка границ файлов с данными
15.10 Обработка параметров командной строки
15.11 Чтение пользовательской базы данных
15.12 Чтение групповой базы данных
16. Практические awk-программы
16.1 Переизобретение колес для забавы и пользы
16.1.1 Вырезание полей и столбцов
16.1.2 Поиск регулярных выражений в файлах
16.1.3 Впечатывание информации о пользователях
16.1.4 Разделение большого файла на части
16.1.5 Размножение вывода во многие файлы
16.1.6 Печать не повторяющихся строк текста
16.1.7 Подсчеты разных объектов
16.2 Разные awk-программы
16.2.1 Нахождение в документе повторенных слов
16.2.2 Программа-будильник
16.2.3 Транслитерация символов
16.2.4 Печать почтовых ярлыков
16.2.5 Генерация счетчиков, использующих слова
16.2.6 Удаление дубликатов из несортированного текста
16.2.7 Извлечение программ из Texinfo Source Files
16.2.8 Простой поточный редактор
16.2.9 Простой способ использования библиотечных функций
17. Эволюция языка awk
17.1 Главные различия между V7 и SVR3.1
17.2 Различия между SVR3.1 и SVR4
17.3 Различия между SVR4 и POSIX awk
17.4 Расширения в Bell Laboratories awk
17.5 Расширения в gawk, отсутствующие в POSIX awk
Приложение A. Обзор gawk
A.1 Обзор параметров командной строки
A.2 Обзор языка
A.3 Переменные и поля
A.3.1 Поля
A.3.2 Встроенные переменные
A.3.3 Массивы
A.3.4 Типы данных
A.4 Образцы
A.4.1 Обзор образцов
A.4.2 Регулярные выражения
A.5 Действия
A.5.1 Операторы
A.5.2 Операторы управления
A.5.3 Операторы ввода/вывода
A.5.4 Обзор оператора printf
A.5.5 Специальные файловые имена
A.5.6 Встроенные функции
A.5.7 Функции службы времени
A.5.8 Константы-цепочки
A.6 Функции, определяемые пользователем
A.7 Сведения из истории
Приложение B. Установка gawk
B.1 Поставка gawk
B.1.1 Получение поставки gawk
B.1.2 Извлечение поставки
B.1.3 Содержание поставки gawk
B.2 Компиляция и установка gawk под Unix
B.2.1 Компиляция gawk для Unix
B.2.2 Процесс конфигурации
B.3 Как компилировать и устанавливать на VMS
B.3.1 Компиляция gawk на VMS
B.3.2 Установка gawk на VMS
B.3.3 Запуск gawk на VMS
B.3.4 Построение и использование gawk на VMS POSIX
B.4 MS-DOS и OS/2, установка и компиляция
B.5 Установка gawk на Atari ST
B.5.1 Компиляция gawk на Atari ST
B.5.2 Запуск gawk на Atari ST
B.6 Установка gawk на Amiga
B.7 Сообщения о конфликтах и ошибках
B.8 Другие свободно доступные реализации awk
Приложение C. Замечания о реализации
C.1 Совместимость вниз и отладка
C.2 Внесение добавлений в gawk
C.2.1 Добавление новых свойств
C.2.2 Перенос gawk на новые операционные системы
C.3 Вероятные будущие расширения
C.4 Предложения по усовершенствованию
Приложение D. Глоссарий
GNU GENERAL PUBLIC LICENSE
Преамбула
HIVE
: All information for read only. Please respect copyright!