Потоковий редактор sed, утилiта обробки даних awk

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

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

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

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

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

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА”  ЗВІТ ДО ПРАКТИЧНОЇ РОБОТИ № 3 З КУРСУ “МЕРЕЖЕВІ ОПЕРАЦІЙНІ СИСТЕМИ” на тему “ Потоковий редактор sed, утилiта обробки даних awk ” Мета роботи познайомитися з призначенням та командами потокового текстового редактора 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]. Лiстинг файлу iз командами потокового редактора sed, якi використовувалися для редагування заданого файлу. 1)Команда а: [hirurg@localhost ~]$ who hirurg :0 2010-05-05 18:31 hirurg pts/0 2010-05-05 18:32 hirurg pts/1 2010-05-05 18:36 [hirurg@localhost ~]$ who | sed '2a\ > nova_stroka > ' hirurg :0 2010-05-05 18:31 hirurg pts/0 2010-05-05 18:32 nova_stroka hirurg pts/1 2010-05-05 18:36 [hirurg@localhost ~]$ 2)Команда b [hirurg@localhost ~]$ who hirurg :0 2010-05-05 18:31 hirurg pts/0 2010-05-05 18:32 hirurg pts/1 2010-05-05 18:36 [hirurg@localhost ~]$ who | sed '2a\ > nova_stroka > b lb > 2d > : lb 3d > ' hirurg :0 2010-05-05 18:31 hirurg pts/0 2010-05-05 18:32 nova_stroka 3)Команда с: [hirurg@localhost ~]$ who hirurg :0 2010-05-05 18:31 hirurg pts/0 2010-05-05 18:32 hirurg pts/1 2010-05-05 18:36 [hirurg@localhost ~]$ who | sed '/pts/ c\ > Stroka_zaminu > ' hirurg :0 2010-05-05 19:04 Stroka_zaminu Stroka_zaminu 4)Команда d: [hirurg@localhost ~]$ who hirurg :0 2010-05-05 19:04 hirurg pts/0 2010-05-05 19:05 hirurg pts/1 2010-05-05 19:07 [hirurg@localhost ~]$ who | sed '2,3d' hirurg :0 2010-05-05 19:04 5)Команда і: [hirurg@localhost ~]$ who hirurg :0 2010-05-05 19:04 hirurg pts/0 2010-05-05 19:05 hirurg pts/1 2010-05-05 19:07 [hirurg@localhost ~]$ who | sed '2i\ > nova_stroka > ' hirurg :0 2010-05-05 19:04 nova_stroka hirurg pts/0 2010-05-05 19:05 hirurg pts/1 2010-05-05 19:07 6)Команда s: [hirurg@localhost ~]$ who hirurg :0 2010-05-05 19:04 hirurg pts/0 2010-05-05 19:05 hirurg pts/1 2010-05-05 19:07 [hirurg@localhost ~]$ who | sed 's/r/R/' hiRurg :0 2010-05-05 19:04 hiRurg pts/0 2010-05-05 19:05 hiRurg pts/1 2010-05-05 19:07 [hirurg@localhost ~]$ who | sed 's/r/R/g' hiRuRg :0 2010-05-05 19:04 hiRuRg pts/0 2010-05-05 19:05 hiRuRg pts/1 2010-05-05 19:07 7)Команда у: [hirurg@localhost ~]$ who hirurg :0 2010-05-05 19:04 hirurg pts/0 2010-05-05 19:05 hirurg pts/1 2010-05-05 19:07 [hirurg@localhost ~]$ who | sed 'y/pts/PTS/' hirurg :0 2010-05-05 19:04 hirurg PTS/0 2010-05-05 19:05 hirurg PTS/1 2010-05-05 19:07 8)Команда !cmd : [hirurg@localhost ~]$ who hirurg :0 2010-05-05 19:04 hirurg pts/0 2010-05-05 19:05 hirurg pts/1 2010-05-05 19:07 [hirurg@localhost ~]$ who | sed '2!d' hirurg pts/0 2010-05-05 19:05 [hirurg@localhost ~]$ who | sed '1,2!d' hirurg :0 2010-05-05 19:04 hirurg pts/0 2010-05-05 19:05 9)Команда =: [hirurg@localhost ~]$ who | sed = 1 hirurg :0 2010-05-05 19:04 2 hirurg pts/0 2010-05-05 19:05 3 hirurg pts/1 2010-05-05 19:07 10)Команда w: [hirurg@localhost ~]$ who | sed 'w file.txt' hirurg :0 2010-05-05 19:04 hirurg pts/0 2010-05-05 19:05 hirurg pts/1 2010-05-05 19:07 [hirurg@localhost ~]$ cat file.txt hirurg :0 2010-05-05 19:04 hirurg pts/0 2010-05-05 19:05 hirurg pts/1 2010-05-05 19:07 11)Команда р: [hirurg@localhost ~]$ who | sed -n 'p' hirurg :0 2010-05-05 19:04 hirurg pts/0 2010-05-05 19:05 hirurg pts/1 2010-05-05 19:07 [hirurg@localhost ~]$ who | sed -n '1p' hirurg :0 2010-05-05 19:04 Лiстинги AWK-програм, якi використовувалися для обробки текстових файлiв пiд час тестування рiзних елементiв мови AWK. [hirurg@localhost ~]$ cat>awk.txt Іvanov I.I 1980 50 Petrov A.V 1979 40 Sidorov S.K. 1979 40 Hvedorov 1970 60 [hirurg@localhost ~]$ awk '{print}' awk.txt Іvanov I.I 1980 50 Petrov A.V 1979 40 Sidorov S.K. 1979 40 Hvedorov 1970 60 [hirurg@localhost ~]$ awk '/do/{print}' awk.txt Sidorov S.K. 1979 40 Hvedorov 1970 60 [hirurg@localhost ~]$ awk '/do/ {print("Привет!")}' awk.txt Привет! Привет! [hirurg@localhost ~]$ awk '/do/ {print($2)}' awk.txt S.K. I.H [hirurg@localhost ~]$ awk '{print($2)}' awk.txt I.I A.V S.K. I.H [hirurg@localhost ~]$ awk '{a = $3 $4; print a}' awk.txt 198050 197940 197940 197060 [hirurg@localhost ~]$ awk '{a = $3+$4; print a}' awk.txt 2030 2019 2019 2030 [hirurg@localhost ~]$ awk '/e/ {print ($1, 2000 - $3)}' awk.txt Petrov 21 Hvedorov 30 [hirurg@localhost ~]$ awk '/rov/ {print}' awk.txt Petrov A.V 1979 40 Sidorov S.K. 1979 40 Hvedorov I.H 1970 60 [hirurg@localhost ~]$ awk '/50/,/60/ {print}' awk.txt Іvanov I.I 1980 50 Petrov A.V 1979 40 Sidorov S.K. 1979 40 Hvedorov I.H 1970 60 [hirurg@localhost ~]$ awk '/50/,/40/ {print}' awk.txt Іvanov I.I 1980 50 Petrov A.V 1979 40 [hirurg@localhost ~]$ awk '/^Iv|ov/ {print} ' awk.txt Іvanov I.I 1980 50 Petrov A.V 1979 40 Sidorov S.K. 1979 40 Hvedorov I.H 1970 60 Висновок: на даній лабораторній роботі я познайомився з текстовим редактором sed та утилітою awk . Навчився використовувати їх різноманітні функції, команди. На прикладах вивчив можливості даних утиліт, під час редагування текстової інформації
Антиботан аватар за замовчуванням

01.01.1970 03:01-

Коментарі

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

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

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

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

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

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

Admin

26.02.2023 12:38

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