Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Сало залік.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
133.43 Кб
Скачать

20. Утиліта awk

Awk — це мова програмування, призначена для сканування та обробки зразків. Основним застосуванням мови Awk є обробкатекстових документів. Вона гарно пристосована до малих проектів, в яких необхідне форматування та обробка текстової інформації, і має деякі властивості корисні при роботі з базами даних. Її основні функції обробки текстів вийшли з сімейства інстументів подібних до Grep операційноїї системи Юнікс.

Струкрута

"AWK — мова для обробки файлів тексту. Файл розглядається як послідовність записів, і без обумовлення кожен рядок є записом. Кожен рядок розбивається на послідовність полів, тому можна говорити про перше слово у рядку як перше поле, друге слово — друге тощо. Програма на AWK є послідовністю тверджень типу шаблон-дія. AWK читає по одному рядку за раз. Рядок сканується на відповідність кожному шаблону в програмі, і у разі збігу виконується відповідна дія." — Альфред Ахо

21. Редактор Sed

sed (від англ. Stream EDitor) — потоковий текстовий редактор (а також мова програмування), що застосовує різні зумовлені текстові перетворення до послідовного потоку текстових даних.

sed отримує вхідний потік (зазвичай файл), і редагує кожен рядок згідно з правилами, визначеними в sed-скрипті з використанням простої мови sed, і потім виводить результат у вихідний потік.

sed часто називають неінтерактивним текстовим редактором. Він відрізняється від звичайних текстових редакторів «інвертованістю» по відношенню до тексту і набору команд редагування. Звичайні текстові редактори спочатку завантажують весь текст документа, а потім застосовують до нього команди по одній, тоді як sed спочатку завантажує в себе набір команд, а потім застосовує весь набір команд до кожного рядка тексту. Оскільки одночасно в пам'яті знаходиться тільки один рядок, sed може обробити досить великі текстові файли.

Набір команд sed зроблений за зразком редактора ed, проте необхідно пам'ятати про його інвертованість. Наприклад, команда 25d редактора ed означає «йдіть до рядка 25 і видаліть його», тоді як та ж команда sed означає «якщо це рядок з номером 25, то видаліть (не виводьте) його». Відомий виняток — команди копіювання і переміщення, що охоплюють діапазон рядків і таким чином не мають прямих еквівалентів в sed. Натомість, sed вводить додатковий буфер, названий «простором захоплення», і додаткові команди для управління ним. Наприклад команда «Скопіювати рядок 25 в рядок 76» (25t76) в ed була б закодована як дві окремі команди (25h; 76g) в sed для того, щоб зберегти рядок в просторі захоплення доти, поки дані не будуть витягнуті.

22.Команди sort, uniq, join, cut, paste, split

Sort

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

Uniq

uniq — утиліта Unix, за допомогою якої у файлі можна вивести або відфільтрувати рядки, що повторюються. Якщо вхідний файл заданий як («-») або не заданий зовсім, читання проводиться із стандартного вводу. Якщо вихідний файл не заданий, запис проводиться в стандартний вивод. Друга і подальші копії сусідніх рядків, що повторюються, не записуються. Вхідні рядки, що повторюються, не розпізнаються, якщо вони не слідують строго один за одним, тому може потрібно попереднє сортування файлів.

Cut

cut — утиліта UNIX, що друкує вибрані частини рядків з кожного файлу на стандартний вивід.

Витяг сегментів рядків звичайно відбувається по байтах (-b), по символах (-c), або по полях (-f) обмежених розподільниками (-d — символ табуляції за умовчанням). Діапазон може бути встановлений в кожному випадку, для цього слід вказати один з варіантів: N, N-M, N- (від N і до кінця рядка), або -M (від початку рядка до M).

Paste

paste (від англ. paste — клеїти) — утиліта Unix, призначена для вставки колонок: програма розглядає файли, як вертикальні стовпчики, сполучає їх і виводить в стандартний потік виводу.

split

split — команда Unix, що копіює файл і що розбиває його на окремі файли заданої довжини. Як аргументи їй треба вказати ім'я початкового файлу і префікс імен вихідних файлів. Імена вихідних файлів складатимуться з цього префікса і двох додаткових букв аа, ab, ас і так далі (без пропусків і крапок між префіксом і буквами). Якщо префікс імен файлів не заданий, то за умовчанням використовується х, так що вихідні файли називатимуться хааxab і так далі.