русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Необходимые сведения


Дата добавления: 2013-12-23; просмотров: 780; Нарушение авторских прав


Лабораторная работа №17. Язык обработки шаблонов gawk

Ход работы

1. Сформируйте файл sedtest, в котором последовательно содержатся man-страницы командам sed, vim и awk.

2. Используя sed, выведите на экран из файла sedtest:

— только пятую строку;

— строки с 25 по 50;

— первые 8 строк;

— последнюю строку.

3. Выведите в файл sedstring номера всех строк, в которых содержится слово quote.

4. Замените все слова quote на quotation sentences. Проверьте выполнение замены выводом номеров строк в файл sedstring2 и сравнением этого файла с файлом sedstring.

5. Удалите из файла sedstring2 все строки, которые содержат слово note.

6. С помощью одной команды добавьте перед первой строкой файла sedstring2 строку с фразой This is beginning of file, а после последней — строку с фразой This is the end of file.

7. Создайте сценарий scriptsed, в котором после 1, 2 и 3 строки файла, указанного в качестве аргумента сценария, добавляются строки:

WARNING!

Manually edited!

Результаты должны записываться в файл sedtest1. Проверьте работу сценария на файле sedtest.

8. Создайте сценарий scriptsed2, в котором над файлом, указанном в качестве аргумента, последовательно выполняются следующие операции при помощи редактора sed:

— удаляются строки с 11 по последнюю;

— в оставшихся строках все символы / заменяются на \;

— добавление после десятой строки фразы The end of file.

Результаты должны записываться в файл, имя которого указывается во втором аргументе сценария.

 

 

Цель работы: освоить базовые принципы работы с языком обработки шаблонов gawk.

 

Язык gawk является C-подобным скриптовым языком обработки структурированных текстовых файлов, состоящих из записей (текстовых строк, оканчивающихся символом новой строки), каждая из которых, в свою очередь, рассматривается как набор полей с разделителями между ними.



Утилита gawk последовательно просматривает все записи входного файла на соответствие некоторому шаблону (регулярному выражению, условию и пр.) и для записей, соответствующих шаблону, выполняет указанные пользователем действия.

Совокупность шаблона и связанных с ним действий называют правилом обработки записей. Обычно таких правил несколько и для удобства их помещают в текстовый файл, называемый сценарием gawk. Сама утилита gawk запускается командой

gawk –f сценарий [текстовый_файл].

Ключ -f указывает, что правила обработки записей содержатся в файле сценария. Утилита gawk не изменяет исходного текстового_файла; результат направляется в стандартный поток вывода. Если текстовый_файл не указан, то данные поступают со стандартного ввода.

Сценарий gawk имеет следующую структуру (часть правила, заключенная в квадратные скобки может отсутствовать):

[шаблон] [{действия}]

[шаблон] [{действия}]

...

Если шаблон не указан, то действия применяются ко всем записям текстового файла, записи по умолчанию не выводятся. Если действия не указаны, то выводятся все записи, соответствующие шаблону. Сами действия обязательно заключаются в фигурные скобки.

Для шаблона может быть указано несколько действий. Они указываются либо в одной строке через ; (точка с запятой), либо каждое действие в новой строке. В последнем случае рекомендуется использовать C-подобный синтаксис. Например, запись правила

шаблон {действие1; действие2; … ; действиеN}

эквивалентна записи

шаблон {

действие1

действие2

действиеN}

В шаблонах и действиях можно ссылаться на поля текущей просматриваемой записи: $1 соответствует первому полю, $2 — второму и т.д. Чтобы сослаться на текущую запись целиком (т.е. на все поля записи), указывают $0. Разделителем полей по умолчанию считается пробел. Если используется другой разделитель, то gawk нужно запустить с ключом -F новый_разделитель.

Наиболее часто в качестве действия выступает команда вывода print. При указании без аргументов выводится текущая запись целиком. Если используется синтаксис

print арг1 арг2 … аргN,

то происходит конкатенация аргументов. Если используется синтаксис

print арг1, арг2, … аргN,

то аргументы выводятся через разделитель вывода (по умолчанию пробел).

 



<== предыдущая лекция | следующая лекция ==>
Необходимые сведения | Описание шаблонной части правила gawk-сценария


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.006 сек.