Главная страница
Библиотека (скачать книги)
Скачать софт
Введение в программирование
Стандарты для C++
Уроки по C#
Уроки по Python
HTML
Веб-дизайн
Ассемблер в среде Windows
ActiveX
Javascript
Общее о Линукс
Линукс - подробно
Линукс - новое
Delphi
Паскаль для начинающих
Турбопаскаль
Новости
Партнеры
Наши предложения
Архив новостей





Пример

# Сохранить блоки tbi и eqn в файле: /-\.TS/,/"\.TE/w troff.stuff /~\.EQ/,/-\.EN/w troff_stuff

X
[address l[,address2]]\
Обмен содержимого пространства шаблонов и специального буфера. См. пример к описанию команды h.

У
[address l[,address2]]y labclxyzl
Преобразование символов. Вхождения символов а, Ъ и с заменяются, соответственно, нах, у и г.
Пример
# Изменить "iteml, 2, 3..." на "Item А, В, С ..." /"item [1-9]/y/123456789/ABCDEFGHI/

 

Глава 13

Язык сценариев gawk

Язык сценариев gawk является GNU-версией awk - мощного инструмента для обработки текстовых файлов при помощи шаблонов. Файлы могут состоять из записей фиксированной или переменной длины. Границы записей обозначаются разделителем (по умолчанию это символ новой строки), gawk может использоваться как из командной строки, так и в gawk-сценариях. Обычно эту программу можно вызвать, введя команду awk или gawk в командной строке интерпретатора.
В этой главе рассмотрены следующие темы:
Обзор возможностей
Синтаксис командной строки
Шаблоны и процедуры
Системные переменные gawk
Операторы
Работа с переменными и массивами
Перечень команд awk по группам
Алфавитный перечень команд

Более подробную информацию по этим темам можно найти во втором издании книги Дэйла Дауэрти (Dale Dougherty) и Арнольда Роббинса (Arnold Robbins) «sed & awk» издательства O'Reilly.
Обзор возможностей
Язык сценариев gawk позволяет:
С легкостью обрабатывать текстовый файл, как если бы он состоял из полей и записей текстовой базы данных
Использовать переменные для внесения изменений в базу данных
Выполнять команды интерпретатора из сценария
Выполнять арифметические и строковые операции
Использовать конструкции программирования, такие как циклы и условные операторы
Определять пользовательские функции
Обрабатывать вывод команд интерпретатора

• Обрабатывать аргументы командной строки постепенно
• Отображать оформленные отчеты

Синтаксис командной строки
gawk можно вызвать двумя способами:
gawk [options] 'script' var=value file(s) gawk [options] -( scriptfile var^value file(s)
Вы можете задать все команды сценария прямо в командной строке или сохранить сценарий в файле scriptfile и указать его при помощи параметра -f. Допустимы множественные параметры -f. В случае указания нескольких файлов их тексты объединяются. Такая возможность полезна для включения библиотек.
gawk работает с указанными исходными файлами (files). Если имена файлов опущены (или задан параметр «-»), выполняется чтение со стандартного ввода.
В командной строке переменным могут присваиваться значения. Значение (value) может быть строкой, переменной интерпретатора ($пате) или командной подстановкой С cmd"), но значение переменной становится доступным только после чтения первой строки ввода (т. е. после оператора BEGIN).
Чтобы вывести, к примеру, первые три поля файла паролей (поля разделяются двоеточием), можно использовать параметр -Гдля задания разделителя:
gawk -F: '{print $1; print $2; print $3}' /etc/password
Ниже в разделе «Шаблоны и процедуры» приводятся многочисленные примеры.
Параметры
Все параметры доступны как в традиционном однобуквенном варианте POSIX, так и з GNU-стиле (длинные имена). Вот некоторые из них:
— Все последующие строки являются командами или именами файлов, а не параметрами.
—f scriptfile, —iile=scriptfile
Читать команды gawk из файла scriptfile.
—v var-value, —assign=var=value
Присвоить переменной var значение value. Параметр позволяет инициализировать переменные до начала работы сценария.
—Fc, —field-separator=c
Считать символ с разделителем полей. Действие параметра идентично инициализации переменной FS. Параметр с может быть регулярным выражением. Каждая строка или запись разделяется на поля пробелами и символами табуляции или другими символами, которые могут определяться пользователем. Поля записи адресуются переменным $1, $2, $п. Переменная $0 содержит всю запись.
-W option
Параметр -W специфичен для gawk и отсутствует в awk. Альтернативный способ задания параметра: —option (например, —compat). Аргумент параметра (option) может быть одним из следующих:
compat
Идентично traditional.
copyleft
Отобразить информацию по лицензии General Public License и завершить работу.
copyright
Отобразить информацию по вопросам обладания правами и завершить
работу.
help
Отобразить справку по синтаксису и перечень параметров, а затем завершить работу.
lint
Выдавать предупреждение при использовании команд, которые могут оказаться непереносимыми на другие версии awk, либо команд, которые gawk считает неясными.
lint-old
Аналогично lint, но выполняется проверка соответствия более старым версиям awk.
posix
Команды точно соответствуют стандарту POSIX. Кроме того, игнорируются escape-последовательности вида \х, операторы ** и **=.
re-interval
Разрешить использование диапазонов вида {п,т} в регулярных выражениях.
source=scrlpt
Считать последовательность script сценарием gawk. Имеет сходство с
аргументом но source дает возможность комбинировать ко-
манды из файлов (задаваемых параметром -f командной строки) с командами, задаваемыми в командной строке.
traditional
Работав полном соответствии с традиционным (не-GNU) awk. usage
Идентично help, version
Отобразить информацию о номере версии и завершить работу.

Шаблоны и процедуры
Сценарий gawk состоит из шаблонов и процедур:
pattern {procedure}



   
 

Библиотека программиста. 2009.
Администратор: admin@programmer-lib.ru