Готовый перевод sed & awk / sed & awk: 1.3 Язык регулярных выражений
Определние Awk как языка программирования отпугивает некоторых от него. Если Вы один из них, считайте awk другим подходом к решению проблем, один из них состоит в том, что вы контролируете, что делает компьютерл
Sed легче представить как обратную сторону интерактивного редактирвоания. Процедуры sed соответствуют достаточно близко тому, как вы применяет команды для редатирования вручную. Sed ограничивает Вас в методах которые вы используете в текстовом редакторе. Awk предлагает более общую модель для обработки файлов
Типичным примером awk программы служит преобразование данных в отформатированный отчет.В качестве данных может быть длинный лог файл сгенерированный UNIX программой, такой как uucp, и отчет может суммировать данные в формат удобный для системного даминистратора. Другой пример, данные обрабатываются приложением и состоят из разделенных вступлений и дынных поиска. Вступления являются резульаттом обработки записи данных в стурктуру. Данные поиска - это данные извлеченные из файла и сгенерированные в отчет.
Ключем ко всем этим операциям являются данные с определенной структурой. Разрешите продемонстрировать аналогию со шкафом. Шкаф состоит из множества ящиков и каждый ящик имеет определенное содержание: ящик с носками, нижнее белье в другом и свитеры в третьем ящике. Иногда ящики имеют отсеки позволяющие разные вещи хранить вместе. Все эти структуры определюяют куда пойдут вещи когда Вы их сортируете после прачечной и где вещь может быть найдена когда Вы одеваетесь. Awk позволяет вам использовать структуру текстового файла в написании процедур для помещения или изъятия вещей.
Таким образом преимущества awk лучше все реализуются когда данные имеют определенную структуру. Текстовый файл может быть со свободной или плотной структурой. Глава состоит из значительных и незначительных секций имеющих некоторую структуру. Мы рассмотрим скрипт который извлекает заголовки разделом и нумерует и выводит их. Таблица состоящая из разделенных пунктов в столбцах может считаться структурированной. Вы можете использовать awk скрипт для упорядочивания столбцов данных или даже изменить колонки в строку и сктроку в колонку.
awk скрипты, равно как и sed скрипты, обычно вызываются из шелла. Этот шелл скрипт, который обычно содержит команды вызывает awk также как скрипт awk интерпретирует. Простой линейный awk скрипт может быть введон в командную строку.
Некоторые вещи, которое позволяет Вас сделать awk:
Просмотреть текстовый файл как текстовую базу данных задержащую записи и поля.
Использовать переменные для манипуляций с базой.
Использовать арифметические и текстовые операторы.
Использовать програмные констуркуции, такие как циклы и условия.
Генерировать форматированные отчеты.
Определять функции.
Вызывать UNIX команды из скрипта.
Обрабатывать результат команд UNIX.
Обрабатывать аргументы командной строки более изящно.
Работать проще с множеством входных потоков.
Благодаря этим особенностям awk имеет мощь и диапазон на которые могут полагаться пользователи выполняя некоторые задачи с помощью шелл скриптов. В этой книге Вы найдете примеры генератор команд с меню, программу для автоматической проверки арфографии и обработки индексов, каждая из которых будет использовать особенности описанные выше.
Возможности awk расширяют идею редактирования текста на компьютере, делая возможным выполнение различных задач по обрамотке данных, включая анализ, извлечение, и отчеты. Это, в действительности, основное применение awk, но так же есть необычные применения: awk используется для написания интерпретатора List и даже компилятора!
Внимание! Этот перевод, возможно, ещё не готов.
Его статус: перевод редактируется
Переведено на Нотабеноиде
http://notabenoid.org/book/32181/112613
Переводчики: r0mk
Настройки
Готово:
