Asci file: context.txt
3
СОДЕРЖАНИЕ
ЛИСТ
1. ОБЩИЕ СВЕДЕНИЯ О СИСТЕМЕ UNIX . . . . . . . . . . . 10
1.1. Основные функции и компоненты системы UNIX . . . 10
1.2. Ядро . . . . . . . . . . . . . . . . . . . . . . 10
1.3. shell . . . . . . . . . . . . . . . . . . . . . . 11
1.4. Команды . . . . . . . . . . . . . . . . . . . . . 11
1.4.1. Что делают команды . . . . . . . . . . . . . . 11
1.4.2. Как выполнять команды . . . . . . . . . . . . . 12
1.5. Файловая система . . . . . . . . . . . . . . . . 13
1.5.1. Обыкновенные файлы . . . . . . . . . . . . . . 13
1.5.2. Справочники . . . . . . . . . . . . . . . . . . 13
1.5.3. Специальные файлы . . . . . . . . . . . . . . . 14
1.5.4. Символические каналы связи . . . . . . . . . . 14
1.6. Расположение системы . . . . . . . . . . . . . . 14
1.7. Принятые соглашения . . . . . . . . . . . . . . . 15
2. ОСНОВНЫЕ СВЕДЕНИЯ ДЛЯ ПОЛЬЗОВАТЕЛЕЙ UNIX . . . . . 16
2.1. Терминал . . . . . . . . . . . . . . . . . . . . 16
2.2. Требуемые для установки терминальные
характеристики . . . . . . . . . . . . . . . . . . . 16
2.3. Характеристики клавиатуры . . . . . . . . . . . . 17
2.4. Соглашения по вводу . . . . . . . . . . . . . . . 17
2.5. Подсказка команды . . . . . . . . . . . . . . . . 18
2.6. Исправление ошибок ввода . . . . . . . . . . . . 18
2.6.1. Стереть текущую строку: знак @ . . . . . . . . 18
2.6.2. Стереть последний введенный символ: <^h>
и . . . . . . . . . . . . . . . . . . . . 19
2.6.3. Переназначение функции удаления . . . . . . . . 19
2.7. Использование специальных символов как
буквенных . . . . . . . . . . . . . . . . . . . . . . 20
2.8. Скорость . . . . . . . . . . . . . . . . . . . . 20
2.9. Останов команд . . . . . . . . . . . . . . . . . 20
2.10. Использование символов управления . . . . . . . 21
2.11. Получение регистрационного имени . . . . . . . . 21
2.12. Связь с системой UNIX . . . . . . . . . . . . . 22
2.13. Процедура регистрации . . . . . . . . . . . . . 22
2.14. Пароль . . . . . . . . . . . . . . . . . . . . . 22
2.15. Возможные проблемы при регистрации . . . . . . . 24
2.16. Простые команды . . . . . . . . . . . . . . . . 25
2.17. Выход из системы . . . . . . . . . . . . . . . . 26
3. ФАЙЛОВАЯ СИСТЕМА . . . . . . . . . . . . . . . . . 27
3.1. Структура файловой системы . . . . . . . . . . . 27
3.2. Ваш собственный справочник . . . . . . . . . . . 27
3.3. Текущий справочник . . . . . . . . . . . . . . . 28
3.4. Имя пути . . . . . . . . . . . . . . . . . . . . 28
3.4.1. Полное имя пути . . . . . . . . . . . . . . . . 29
3.4.2. Родственное имя пути . . . . . . . . . . . . . 29
3.5. Правила именования справочников и файлов . . . . 30
3.6. Организация справочника . . . . . . . . . . . . . 31
3.6.1. Команда mkdir - создать справочник . . . . . . 31
3.6.2. Команда ls - напечатать содержимое
справочника . . . . . . . . . . . . . . . . . . . . . 31
3.6.2.1. Часто используемые ключи команды ls . . . . . 33
3.7. Команда cd - изменить текущий справочник . . . . 34
3.8. Команда rmdir - удалить справочник . . . . . . . 35
3.9. Доступ к файлу и работа с ним . . . . . . . . . . 36
3.10. Основные команды . . . . . . . . . . . . . . . . 36
4
3.10.1. Команды cat, pg, pr - распечатать
содержимое файла . . . . . . . . . . . . . . . . . . 36
3.10.1.1. Команда cat . . . . . . . . . . . . . . . . 36
3.10.1.2. Команда pg . . . . . . . . . . . . . . . . . 37
3.10.1.3. Команда pr . . . . . . . . . . . . . . . . . 39
3.10.2. Команда cp - сделать копию файла . . . . . . . 40
3.10.3. Команда mv - переименование файла . . . . . . 41
3.10.4. Команда rm - удалить файл . . . . . . . . . . 42
3.10.5. Команда wc - подсчет строк, слов и
символов . . . . . . . . . . . . . . . . . . . . . . 42
3.10.6. Команда chmod - изменить статус файла . . . . 43
3.10.6.1. Как определить права . . . . . . . . . . . . 44
3.10.6.2. Как изменить существующие права . . . . . . 45
3.10.6.3. Альтернативный метод . . . . . . . . . . . . 46
3.10.7. Дополнительные команды . . . . . . . . . . . . 46
3.10.7.1. Команда diff . . . . . . . . . . . . . . . . 47
3.10.7.2. Команда grep . . . . . . . . . . . . . . . . 48
3.10.7.3. Команда sort . . . . . . . . . . . . . . . . 48
4. ОБЗОР ПРОГРАММНЫХ СРЕДСТВ . . . . . . . . . . . . . 50
4.1. Управление офисом системы . . . . . . . . . . . . 50
4.2. Редактирования текста . . . . . . . . . . . . . . 50
4.2.1. Что такое редактор текста . . . . . . . . . . . 50
4.2.2. Как работает текстовый редактор . . . . . . . . 50
4.2.2.1. Буфера редактора текста . . . . . . . . . . . 50
4.2.3. Режимы . . . . . . . . . . . . . . . . . . . . 51
4.2.4. Построчный редактор . . . . . . . . . . . . . . 51
4.2.5. Экранный редактор . . . . . . . . . . . . . . . 51
4.2.6. Использование shell . . . . . . . . . . . . . . 52
4.2.7. Применение средств системы . . . . . . . . . . 53
4.2.8. Окружение компьютера . . . . . . . . . . . . . 53
4.2.9. Программирование в shell . . . . . . . . . . . 54
4.2.10. Программирование с помощью awk . . . . . . . . 54
4.3. Электронная связь . . . . . . . . . . . . . . . . 55
4.4. Программирование в системе UNIX . . . . . . . . . 55
5. РУКОВОДСТВО ПО КОМАНДНОЙ СРЕДЕ FACE . . . . . . . . 56
5.1. Что такое FACE? . . . . . . . . . . . . . . . . . 56
5.1.1. Организация этого раздела . . . . . . . . . . . 56
5.2. Введение . . . . . . . . . . . . . . . . . . . . 56
5.2.1. Регистрация в системе . . . . . . . . . . . . . 57
5.2.2. Структура экрана FACE . . . . . . . . . . . . . 57
5.2.2.1. Заголовок . . . . . . . . . . . . . . . . . . 58
5.2.2.2. Рабочая область . . . . . . . . . . . . . . . 58
5.2.2.3. Строка сообщения . . . . . . . . . . . . . . 58
5.2.2.4. Командная строка . . . . . . . . . . . . . . 59
5.2.2.5. Метки функциональных клавиш . . . . . . . . . 59
5.3. Что вы увидите после регистрации . . . . . . . . 59
5.3.1. Альтернативные последовательности . . . . . . . 62
5.3.2. Как использовать меню . . . . . . . . . . . . . 62
5.3.2.1. Метки функциональных клавиш в меню . . . . . 63
5.3.2.2. Перемещение в меню . . . . . . . . . . . . . 63
5.3.2.3. Выбор пункта меню . . . . . . . . . . . . . . 65
5.3.3. Как работать с формой . . . . . . . . . . . . . 67
5.3.3.1. Метки функциональных клавиш в формах . . . . 69
5.3.3.2. Перемещение в форме и редактирование полей. . 69
5.3.4. Перемещение от окна к окну. . . . . . . . . . . 72
5.3.4.1. Переход к другому окну с помощью
командной строки . . . . . . . . . . . . . . . . . . 73
5.3.4.2. Перемещение от окна к окну с помощью
функциональных клавиш . . . . . . . . . . . . . . . . 73
5
5.3.4.3. Перемещение от окна к окну с помощью
команды frm-mgmt. . . . . . . . . . . . . . . . . . . 73
5.3.5. Управление внешним видом вашего оффиса . . . . 74
5.3.5.1. Перемещение окна . . . . . . . . . . . . . . 74
5.3.5.2. Изменение формы окна . . . . . . . . . . . . 75
5.3.6. Командное меню . . . . . . . . . . . . . . . . 75
5.3.7. Получение помощи . . . . . . . . . . . . . . . 78
5.3.7.1. Помощь по командам, меню и полям форм FACE. . 78
5.3.7.2. Получение помощи о FACE . . . . . . . . . . . 79
5.3.8. Выход из FACE . . . . . . . . . . . . . . . . . 80
6. РЕДАКТОР ТЕКСТОВ ED . . . . . . . . . . . . . . . . 83
6.1. Введение . . . . . . . . . . . . . . . . . . . . 83
6.2. Вызов редактора . . . . . . . . . . . . . . . . . 83
6.2.1. Дозапись текста . . . . . . . . . . . . . . . . 83
6.3. Запись файла . . . . . . . . . . . . . . . . . . 84
6.4. Выход из редактора . . . . . . . . . . . . . . . 84
6.5. Чтение файла . . . . . . . . . . . . . . . . . . 84
6.5.1. Команда редактирования файла (e) . . . . . . . 84
6.5.2. Команда чтения файла (r) . . . . . . . . . . . 85
6.6. Печать текста . . . . . . . . . . . . . . . . . . 85
6.6.1. Команда печати (p) . . . . . . . . . . . . . . 85
6.6.2. Команда печати (l) . . . . . . . . . . . . . . 86
6.7. Просмотр файла . . . . . . . . . . . . . . . . . 86
6.7.1. Команда печати (n) . . . . . . . . . . . . . . 86
6.8. Команда удаления строк (d) . . . . . . . . . . . 87
6.9. Команда отмены редакции (u) . . . . . . . . . . . 87
6.10. Команда замены (s) . . . . . . . . . . . . . . . 88
6.11. Команда поиска контекста . . . . . . . . . . . . 90
6.11.1. Конструкция /.../ . . . . . . . . . . . . . . 90
6.11.2. Конструкция ?...? . . . . . . . . . . . . . . 91
6.11.3. Продолжение поиска . . . . . . . . . . . . . . 91
6.12. Команда вставки строк (i) . . . . . . . . . . . 91
6.13. Команда замены строк (c) . . . . . . . . . . . . 92
6.14. Работа со строками . . . . . . . . . . . . . . . 92
6.14.1. Разбиение строк . . . . . . . . . . . . . . . 92
6.14.2. Объединение строк (j) . . . . . . . . . . . . 92
6.14.3. Копирование строк (t) . . . . . . . . . . . . 93
6.14.4. Перестройка строк . . . . . . . . . . . . . . 93
6.14.5. Маркеры . . . . . . . . . . . . . . . . . . . 94
6.14.6. Адресация строк в редакторе . . . . . . . . . 94
6.14.6.1. Адресная арифметика . . . . . . . . . . . . 94
6.14.6.2. Номера строк и указатель текущей
строки . . . . . . . . . . . . . . . . . . . . . . . 95
6.14.6.3. Изменение указателя текущей строки . . . . . 95
6.14.6.4. Прерывание работы редактора . . . . . . . . 96
6.14.7. Глобальные команды . . . . . . . . . . . . . . 96
6.14.7.1. Команда g . . . . . . . . . . . . . . . . . 96
6.14.7.2. Команда v . . . . . . . . . . . . . . . . . 97
6.15. Работа с файлами . . . . . . . . . . . . . . . . 97
6.15.1. Команда указания имени файла (f) . . . . . . . 97
6.15.2. Объединение файлов . . . . . . . . . . . . . . 98
6.15.3. Разбиение файла . . . . . . . . . . . . . . . 98
6.15.4. Перекомпоновка файла . . . . . . . . . . . . . 98
6.15.4.1. Перемещение строк (команда m) . . . . . . . 98
6.15.4.2. Копирование строк текста (t) . . . . . . . . 99
6.16. Специальные символы . . . . . . . . . . . . . . 100
6.16.1. Метасимвол . (точка) . . . . . . . . . . . . . 100
6.16.2. Метасимвол \ (обратная дробная черта) . . . . 100
6.16.3. Метасимвол $ (денежный знак) . . . . . . . . . 101
6
6.16.4. Метасимвол ^ (отрицание) . . . . . . . . . . . 101
6.16.5. Метасимвол * (звездочка) . . . . . . . . . . . 101
6.16.6. Метасимволы [] (квадратные скобки) . . . . . . 102
6.16.7. Метасимвол & (амперсенд) . . . . . . . . . . . 103
6.17. Дополнительные возможности . . . . . . . . . . . 103
6.17.1. Временный выход из редактора . . . . . . . . . 104
6.17.2. Восстановление после останова . . . . . . . . 104
6.17.3. Командные файлы редактора . . . . . . . . . . 104
6.17.4. Режим шифрования . . . . . . . . . . . . . . . 104
6.17.5. Программа grep . . . . . . . . . . . . . . . . 105
6.17.6. Команды помощи . . . . . . . . . . . . . . . . 105
6.18. Сообщения редактора . . . . . . . . . . . . . . 106
6.19. Краткий обзор команд . . . . . . . . . . . . . . 106
7. ЭКРАННЫЙ РЕДАКТОР VI . . . . . . . . . . . . . . . 109
7.1. Введение . . . . . . . . . . . . . . . . . . . . 109
7.2. Начальные установки . . . . . . . . . . . . . . . 109
7.2.1. Установка конфирурации терминала . . . . . . . 109
7.2.2. Изменение конфигурации . . . . . . . . . . . . 110
7.3. Создание файла . . . . . . . . . . . . . . . . . 110
7.4. Режимы редактора . . . . . . . . . . . . . . . . 111
7.4.1. Создание текста в режиме Append . . . . . . . . 111
7.4.2. Выход из режима Append . . . . . . . . . . . . 111
7.5. Редактирование текста в командном режиме . . . . 111
7.5.1. Перемещение курсора . . . . . . . . . . . . . . 112
7.5.2. Удаление текста . . . . . . . . . . . . . . . . 112
7.5.3. Добавление текста . . . . . . . . . . . . . . . 112
7.6. Завершение работы c vi . . . . . . . . . . . . . 113
7.7. Перемещение курсора по экрану . . . . . . . . . . 114
7.7.1. Позиционирование курсора на символ . . . . . . 114
7.7.1.1. Переместить курсор в начало или конец строки. 114
7.7.1.2. Поиск символа в строке . . . . . . . . . . . 114
7.7.1.3. Команда перемещения: - (знак минус) . . . . . 115
7.7.1.4. Команда перемещения + (знак плюс) . . . . . . 115
7.7.2. Позиционирование слов . . . . . . . . . . . . . 115
7.7.3. Позиционирование курсора на предложение . . . . 116
7.7.4. Позиционирование курсора по параграфам . . . . 116
7.7.5. Позиционирование в окне . . . . . . . . . . . . 116
7.8. Позиционирование курсора на неотображаемом
тексте . . . . . . . . . . . . . . . . . . . . . . . 118
7.8.1. Прокрутка текста . . . . . . . . . . . . . . . 118
7.8.1.1. Команда ^f . . . . . . . . . . . . . . . . . 118
7.8.1.2. Команда ^d . . . . . . . . . . . . . . . . . 118
7.8.1.3. Команда ^b . . . . . . . . . . . . . . . . . 118
7.8.1.4. Команда ^u . . . . . . . . . . . . . . . . . 119
7.9. Переход на указанную строку . . . . . . . . . . . 119
7.10. Номера строк . . . . . . . . . . . . . . . . . . 119
7.11. Поиск символов по шаблону: команды / и ? . . . . 119
7.12. Создание текста . . . . . . . . . . . . . . . . 120
7.12.1. Добавить текст . . . . . . . . . . . . . . . . 121
7.12.2. Вставить текст . . . . . . . . . . . . . . . . 121
7.12.3. Открыть строку для текста . . . . . . . . . . 121
7.13. Удаление текста . . . . . . . . . . . . . . . . 122
7.13.1. Удаление текста в режиме ввода текста . . . . 122
7.13.2. Отменить последнюю команду . . . . . . . . . . 122
7.14. Команды удаления в командном режиме . . . . . . 122
7.14.1. Удаление слов . . . . . . . . . . . . . . . . 123
7.14.2. Удаление параграфов . . . . . . . . . . . . . 123
7.14.3. Удаление строк . . . . . . . . . . . . . . . . 123
7.14.4. Удаление текста после курсора . . . . . . . . 123
7
7.15. Модификация текста . . . . . . . . . . . . . . . 124
7.15.1. Замена текста . . . . . . . . . . . . . . . . 124
7.15.2. Подстановка текста . . . . . . . . . . . . . . 125
7.15.3. Изменение текста . . . . . . . . . . . . . . . 125
7.16. Извлечение и присоединение текста . . . . . . . 126
7.16.1. Перемещение текста . . . . . . . . . . . . . . 126
7.16.2. Перемещение букв . . . . . . . . . . . . . . . 126
7.16.3. Копирование текста . . . . . . . . . . . . . . 126
7.17. Копирование и перемещение текста с
использованием регистров . . . . . . . . . . . . . . 127
7.18. Специальные команды . . . . . . . . . . . . . . 128
7.18.1. Повторить последнюю команду . . . . . . . . . 128
7.18.2. Объединение строк . . . . . . . . . . . . . . 128
7.18.3. Очистить окно и восстановить текст . . . . . . 128
7.18.4. Заменить нижний регистр на верхний и
vice versa . . . . . . . . . . . . . . . . . . . . . 128
7.19. Использование команд построчного редактора . . . 129
7.19.1. Временный возврат к shell . . . . . . . . . . 129
7.19.2. Запись текста в новый файл . . . . . . . . . . 130
7.19.3. Переход к указанной строке . . . . . . . . . . 130
7.19.4. Удалить остаток буфера . . . . . . . . . . . . 130
7.19.5. Добавить файл в буфер . . . . . . . . . . . . 130
7.19.6. Провести глобальные изменения . . . . . . . . 131
7.20. Завершение работы с редактором vi . . . . . . . 132
7.21. Специальные опции для vi . . . . . . . . . . . . 133
7.21.1. Восстановление потерянного файла . . . . . . . 133
7.21.2. Редактирование нескольких файлов . . . . . . . 133
7.21.3. Просмотр файла . . . . . . . . . . . . . . . . 134
8. SHELL - ИНТЕРПРЕТАТОР КОМАНДНОГО ЯЗЫКА . . . . . . 135
8.1. Метасимволы . . . . . . . . . . . . . . . . . . . 135
8.1.1. Поиск всех символов (метасимвол *) . . . . . . 135
8.1.2. Поиск по одному символу (метасимвол ?) . . . . 136
8.1.3. Поиск одного набора (метасимвол []) . . . . . . 136
8.2. Специальные символы . . . . . . . . . . . . . . . 137
8.2.1. Запуск команды в фоновом режиме (символ &). . . 137
8.2.2. Последовательное выполнение команд (символ ;) . 137
8.2.3. Отмена специального значения (метасимвол \) . . 138
8.2.4. Отмена специального значения (метасимвол
кавычки) . . . . . . . . . . . . . . . . . . . . . . 138
8.2.4.1. Использование кавычек для отмены
значения символа пробел . . . . . . . . . . . . . . . 138
8.3. Перенаправление ввода и вывода . . . . . . . . . 139
8.3.1. Перенаправить ввод: знак < . . . . . . . . . . 139
8.3.2. Перенаправить вывод: знак > . . . . . . . . . . 139
8.3.3. Добавить вывод в существующий файл . . . . . . 140
8.3.3.1. Некоторые применения перенаправления
вывода . . . . . . . . . . . . . . . . . . . . . . . 140
8.3.3.2. Комбинирование фонового режима и
перенаправления вывода . . . . . . . . . . . . . . . 141
8.3.4. Перенаправление вывода команде . . . . . . . . 141
8.3.5. Подстановка вывода в качестве аргумента . . . . 142
8.4. Выполнение, останов и повторный запуск
процессов . . . . . . . . . . . . . . . . . . . . . . 142
8.4.1. Запуск команд в заданное время . . . . . . . . 142
8.4.2. Получить состояние запущенного процесса . . . . 143
8.4.3. Завершение активных процессов . . . . . . . . . 144
8.4.4. Запуск остановленного задания . . . . . . . . . 145
8
8.4.5. Использование команды nohup . . . . . . . . . . 145
9. СРЕДСТВА ПРОГРАММИРОВАНИЯ SHELL . . . . . . . . . . 146
9.1. Программы shell . . . . . . . . . . . . . . . . . 146
9.1.1. Создание простых программ shell . . . . . . . . 146
9.1.2. Выполнение программ shell . . . . . . . . . . . 146
9.1.3. Создание справочника bin для исполняемых файлов 147
9.1.4. Ограничения при именовании программ shell . . . 147
9.2. Переменные . . . . . . . . . . . . . . . . . . . 147
9.2.1. Позиционные параметры . . . . . . . . . . . . . 147
9.2.2. Специальные параметры . . . . . . . . . . . . . 148
9.2.3. Именованные переменные . . . . . . . . . . . . 148
9.2.4. Присвоение значений переменным . . . . . . . . 149
9.2.4.1. Использование команды read . . . . . . . . . 149
9.2.4.2. Перенаправление вывода команды в
переменную . . . . . . . . . . . . . . . . . . . . . 150
9.2.4.3. Присвоение позиционного параметра
переменной . . . . . . . . . . . . . . . . . . . . . 151
9.3. Конструкции языка программирования shell . . . . 151
9.3.1. Комментарии . . . . . . . . . . . . . . . . . . 151
9.3.2. "Here document" . . . . . . . . . . . . . . . . 151
9.3.3. Использование ed в shell программе . . . . . . 152
9.3.4. Коды завершения . . . . . . . . . . . . . . . . 152
9.3.4.1. Проверка кодов завершения . . . . . . . . . . 153
9.3.5. Циклы . . . . . . . . . . . . . . . . . . . . . 153
9.3.5.1. Оператор for . . . . . . . . . . . . . . . . 153
9.3.5.2. Оператор while . . . . . . . . . . . . . . . 154
9.3.6. Использование /dev/null . . . . . . . . . . . . 155
9.3.7. Условные операторы . . . . . . . . . . . . . . 155
9.3.8. Безусловная передача управления . . . . . . . . 158
9.4. Отладка программы . . . . . . . . . . . . . . . . 159
9.4.1. Модификация окружения . . . . . . . . . . . . . 160
9.4.2. Добавление команд в файл .profile . . . . . . . 161
9.4.3. Установка характеристик терминала . . . . . . . 161
9.5. Использование shell переменных . . . . . . . . . 161
10. AWK - ЯЗЫК СКАНИРОВАНИЯ И ОБРАБОТКИ ТЕКСТА . . . . 163
10.1. Основные сведения об awk . . . . . . . . . . . . 163
10.1.1. Структура программы . . . . . . . . . . . . . 163
10.1.2. Поля . . . . . . . . . . . . . . . . . . . . . 164
10.1.3. Печать . . . . . . . . . . . . . . . . . . . . 164
10.2. Печать форматированного файла . . . . . . . . . 165
10.3. Простые шаблоны . . . . . . . . . . . . . . . . 165
10.4. Простые действия . . . . . . . . . . . . . . . . 166
10.4.1. Встроенные переменные . . . . . . . . . . . . 166
10.4.2. Определенные пользователем переменные . . . . 166
10.4.2.1. Функции . . . . . . . . . . . . . . . . . . 167
10.5. Примеры некоторых полезных программ . . . . . . 167
10.6. Сообщения об ошибках . . . . . . . . . . . . . . 167
10.7. Шаблоны . . . . . . . . . . . . . . . . . . . . 168
10.7.1. Шаблоны BEGIN и END . . . . . . . . . . . . . 168
10.8. Выражения отношения . . . . . . . . . . . . . . 168
10.9. Регулярные выражения . . . . . . . . . . . . . . 169
10.10. Комбинация шаблонов . . . . . . . . . . . . . . 171
10.11. Область шаблона . . . . . . . . . . . . . . . . 172
10.12. Действие . . . . . . . . . . . . . . . . . . . 172
10.12.1. Арифметические действия . . . . . . . . . . . 173
10.13. Строки и строковые функции . . . . . . . . . . 175
10.14. Поле переменных . . . . . . . . . . . . . . . . 177
10.15. Номер или строка . . . . . . . . . . . . . . . 177
10.16. Операторы управления потоком . . . . . . . . . 178
9
10.17. Массивы . . . . . . . . . . . . . . . . . . . . 179
10.18. Функции, определенные пользователем . . . . . . 181
10.19. Комментарии . . . . . . . . . . . . . . . . . . 181
10.20. Вывод . . . . . . . . . . . . . . . . . . . . . 182
10.20.1. Оператор print . . . . . . . . . . . . . . . 182
10.20.2. Разделители вывода . . . . . . . . . . . . . 182
10.20.3. Оператор printf . . . . . . . . . . . . . . . 182
10.20.4. Вывод в файлы . . . . . . . . . . . . . . . . 183
10.20.5. Вывод в канал . . . . . . . . . . . . . . . . 184
10.21. Ввод . . . . . . . . . . . . . . . . . . . . . 184
10.21.1. Файлы и каналы . . . . . . . . . . . . . . . 185
10.21.2. Разделители ввода . . . . . . . . . . . . . . 185
10.22. Многострочные записи . . . . . . . . . . . . . 185
10.23. Функция getline . . . . . . . . . . . . . . . . 186
10.24. Аргументы командной строки . . . . . . . . . . 187
10.25. Использование awk с другими командами и с
shell . . . . . . . . . . . . . . . . . . . . . . . . 188
10.25.1. Функция system . . . . . . . . . . . . . . . 188
10.25.2. Взаимодействие с shell . . . . . . . . . . . 188
10.26. Примеры использования . . . . . . . . . . . . . 189
10.26.1. Генерирование отчетов . . . . . . . . . . . . 189
10.26.2. Дополнительные примеры . . . . . . . . . . . 191
10.26.2.1. Частота использования слов . . . . . . . . 191
10.26.2.2. Накопление . . . . . . . . . . . . . . . . 191
10.26.2.3. Случайный выбор . . . . . . . . . . . . . . 191
10.26.2.4. Возможности shell . . . . . . . . . . . . . 191
10.27. Итоговое краткое описание awk . . . . . . . . . 192
10.27.1. Ограничения . . . . . . . . . . . . . . . . . 195
10.27.2. Инициализация, сравнение и тип приведения . . 195
Приложение 1 . . . . . . . . . . . . . . . . . . . . . . 197
Приложение 2 . . . . . . . . . . . . . . . . . . . . . . 198
|