Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Не вказано

Інформація про роботу

Рік:
2010
Тип роботи:
Лабораторна робота
Предмет:
Мережеві операційні системи
Група:
ІБ - 43

Частина тексту файла (без зображень, графіків і формул):

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ Національний університет “ЛЬВІВСЬКА ПОЛІТЕХНІКА”  Потоковий редактор sed, утилiта обробки даних awk ЛАБОРАТОРНА РОБОТА № 3 З ДИСЦИПЛІНИ “МЕРЕЖЕВІ ОПЕРАЦІЙНІ СИСТЕМИ” Львів 2010 Мета роботи познайомитися з призначенням та командами потокового текстового редактора sed; познайомитися з призначенням утилiти awk та мовою обробки шаблонiв утилiти awk; навчитися редагувати текстовi файли з допомогою потокового редактора sed та використовувати утилiту sed як фiльтр редагування файлiв; навчитися записувати шаблони утилiти awk та використовувати утилiту awk як фiльтр обробки даних. Короткі теоретичні відомості Sed - неiнтерактивний текстовий редактор, призначений для пакетного редагування файлiв. Вiн особливо зручний для виконнання однiєї ж i тiєї функцiї редагування багато раз, а також для редагування файлiв, якщо послiдовнiсть команд редагування надто довга та складна для iнтерактивного редагування. Основним документом для знайомства з потоковим редактором sed є man sed. Також ряд прикладiв роботи з sed є в статтi Ольги Галiної " Неинтерактивный текстовый редактор SED" [2] та в посiбнику "sed и awk (учебное пособие)" [3]. Утилiта awk - один з найпотужнiших iнструментiв для контекстного пошуку та перетворення текстiв. Завдяки гнучкiй мовi програмування awk можна створювати короткi програми, якi читають вхiднi файли, сортують данi, опрацьовують їх, виконують математичнi дiї, генерують звiти тощо. Основним документом для знайомства з утилiтою awk є man awk. Крiм того, для знайомства з awk можна використати статтю " Язык обработки данных AWK" [4] О. Галiної та посiбник "sed и awk (учебное пособие)" [3]. Таблица C-1. Основные операции sed Операция Название Описание  [диапазон строк]/p print Печать [указанного диапазона строк]  [диапазон строк]/d delete Удалить [указанный диапазон строк]  s/pattern1/pattern2/ substitute Заменить первое встреченное соответствие шаблону pattern1, в строке, на pattern2  [диапазон строк]/s/pattern1/pattern2/ substitute Заменить первое встреченное соответствие шаблону pattern1, на pattern2, в указанном диапазоне строк  [диапазон строк]/y/pattern1/pattern2/ transform заменить любые символы из шаблона pattern1 на соответствующие символы из pattern2, в указанном диапазоне строк (эквивалент команды tr)  g global Операция выполняется над всеми найдеными соответствиями внутри каждой из заданных строк    Лістинг із командами потокового редактору sed  ubuntu@ubuntu:~$ who ubuntu tty5 2010-05-10 19:44 ubuntu tty4 2010-05-10 19:44 ubuntu tty3 2010-05-10 19:44 ubuntu tty6 2010-05-10 19:44 ubuntu tty2 2010-05-10 19:44 ubuntu tty1 2010-05-10 16:44 ubuntu :0 2010-05-10 16:44 ubuntu pts/0 2010-05-10 16:45 (:0) ubuntu@ubuntu:~$ who | sed '3a\ > 'TEXT ubuntu tty5 2010-05-10 19:44 ubuntu tty4 2010-05-10 19:44 ubuntu tty3 2010-05-10 19:44 TEXT ubuntu tty6 2010-05-10 19:44 ubuntu tty2 2010-05-10 19:44 ubuntu tty1 2010-05-10 16:44 ubuntu :0 2010-05-10 16:44 ubuntu pts/0 2010-05-10 16:45 (:0) ubuntu@ubuntu:~$ Лістинг AWK-програм Awk -- это полноценный язык обработки текстовой информации с синтаксисом, напоминающим синтаксис языка C. Он обладает довольно широким набором возможностей, однако, мы рассмотрим лишь некоторые из них -- наиболее употребимые в сценариях командной оболочки. Awk "разбивает" каждую строку на отдельные поля. По-умолчанию, поля -- это последовательности символов, отделенные друг от друга пробелами, однако имеется возможность назначения других символов, в качестве разделителя полей. Awk анализирует и обрабатывает каждое поле в отдельности. Это делает его идеальным инструментом для работы со структурированными текстовыми файлами -- осбенно с таблицами. Внутри сценариев командной оболочки, код awk, заключается в "строгие" (одиночные) кавычки и фигурные скобки. awk '{print $3}' $filename # Выводит содержимое 3-го поля из файла $filename на устройство stdout.   awk '{print $1 $5 $6}' $filename # Выводит содержимое 1-го, 5-го и 6-го полей из файла $filename. Только что, мы рассмотрели действие команды print. Еще, на чем мы остановимся -- это переменные. Awk работает с переменными подобно сценариям командной оболочки, но более гибко. { total += ${column_number} } Эта команда добавит содержимое переменной column_number к переменной "total". Чтобы, в завершение вывести "total", можно использовать команду END, которая открывает блок кода, отрабатывающий после того, как будут обработаны все входные данные. END { print total } Команде END, соответствует команда BEGIN, которая открывает блок кода, отрабатывающий перед началом обработки входных данных. Следующий пример демонстрирует применение awk для разбора текста в сценариях командной оболочки. ubuntu@ubuntu:~$ man awk ubuntu@ubuntu:~$ cd lab3 ubuntu@ubuntu:~/lab3$ awk '{print}' lab3 Ivanon I.I. 1980 50 Petrov A.V. 1979 40 Sidorov C.K. 1980 45 ubuntu@ubuntu:~/lab3$ awk '/ro/ {print}' lab3 Petrov A.V. 1979 40 Sidorov C.K. 1980 45 ubuntu@ubuntu:~/lab3$ cat lab3 | awk '/1980/ {print}' Ivanon I.I. 1980 50 Sidorov C.K. 1980 45 ubuntu@ubuntu:~/lab3$ ubuntu@ubuntu:~/lab3$ awk '/ov/ {print($4)}' lab3 40 45 ubuntu@ubuntu:~/lab3$ awk '{s = s + $4} > END {print ("Symarnuj vik:" s) > print ("Seredniu vik:" s/3)}' lab3 Symarnuj vik:135 Seredniu vik:45 ubuntu@ubuntu:~/lab3$ Висновок На даній лабораторній роботі, я ознайомився з призначенням та командами потокового текстового редактора sed; з призначенням утилiти awk та мовою обробки шаблонiв утилiти awk; навчився редагувати текстовi файли з допомогою потокового редактора sed та використовувати утилiту sed як фiльтр редагування файлiв; навчився записувати шаблони утилiти awk та використовувати утилiту awk як фiльтр обробки даних.
Антиботан аватар за замовчуванням

13.02.2013 01:02-

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!