Назначение и Формат использования
AWK - утилита предназначенная для простых, механических и вычислительных манипуляций над данными. Довольно несложные операции часто необходимо выполнить над целыми пакетами файлов, а писать для этого программу на одном из стандартных языков программирования является утомительным и, как правило, не очень простым делом. Оптимальное решение проблемы - использование специальной утилиты AWK, включающей в себя не громоздкий и удобный язык программирования, позволяющий решать задачи обработки данных с помощью коротких программ, состоящих из двух-трех строк.
Утилита AWK изначально объединяла свойства утилит UNIX - sed и grep. В дальнейшем ее возможности значительно расширились. Настоящая документация ограничивается описанием возможностей утилиты AWK реализованной для компьютеров CONVEX. Утилита AWK была создана в 1977г, американскими авторами: Alfred V.Aho, Brian W.Kernighan и Peter J.Weinberger. Подробное описание всех возможностей утилиты AWK для UNIX дает их издание: ``The AWK Programming Language'', 1988.
AWK сканирует input (стандартный или указываемый набор файлов), и над строками, удовлетворяющими заданному образцу, выполняет указываемые действия. Строка может содержать максимально до 256 символов.
Формат:
awk [-Fc] [-f file] [files]
awk [-Fc] [prog] [files]
prog - программа, вида: ' образец ${$действие$}$'
file - файл с AWK-программой:
образец { действие}
образец { действие}
...
files - файлы, предназначенные для AWK-обработки.
-Fc - устанавливает разделитель полей в ``с'' (См. 1.2.1 и 2.4)
SED - неинтерактивный текстовый редактор, предназначенный для пакетного редактирования файлов. Полезен для:
- Редактирования очень больших файлов;
- Редактирования файлов любой величины, если последовательность команд редактирования является слишком длинной и сложной и, следовательно, неудобной для выполнения интерактивного редактирования.
- Выполнения множества раз одной и той же функции редактирования.
SED копирует строку из input (стандартный или указываемый набор файлов) в PATTERN SPACE (некоторая область), и к этой строке применяет все команды, адреса которых попадают в PATTERN SPACE . Затем PATTERN SPACE копируется в output . (Фактически в PATTERN SPACE находится одна строка, за исключением команды N , см.4. Функции SED )
Формат:
SED [-n] [-e script] [-f sfile] [files]
script - набор команд редактирования SED , который может содержать до 200 команд или до 10000 байт.
sfile - файл со скриптом SED .
files - файлы, предназначенные для SED -редактирования.
-n - указывает, что в output выводятся не все строки, но только те, к которым применялась команда p. (См. 4.Функции SED . и 5.Функция контекстной замены.)
Флаг -e может быть опущен, если он присутствует один.
Команда SED :
[address[,address]] function [arguments]
адрес адрес функция аргументы