DevioLabавтоматичне керування капіталом
ПРАЦЮЄ 24/7
КРИПТОВАЛЮТИ · АКЦІЇ · 10 БІРЖ

Портфель, який керується автоматично

DevioLab підбирає стратегії, відстежує ринки та автоматизує купівлю і продаж активів. Кількість доступних криптовалют, акцій і торгових можливостей зростає щодня.

10підключених біржCrypto + Stocksв одному портфелі24/7автоматичний контроль

Звіт до практичної роботи № 3 з курсу “Мережеві операційні системи” на тему “Потоковий редактор sed, утиліта обробки даних awk”

Оригінальна назва роботи

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

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

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

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

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

Про що ця робота

Звіт містить практичні приклади та результати виконання завдань з використання потокового редактора sed та утиліти awk. Описано основні команди та принципи обробки текстових даних у середовищі ОС Linux.

У роботі розглядаються

  • Потоковий редактор sed
  • Утиліта обробки даних awk
  • Пакетне редагування файлів
  • Мова обробки шаблонів awk
  • Фільтрація текстових даних
  • Командний рядок Linux

Зміст і розділи

  1. Мета роботи
  2. Теоретичний вступ
  3. Лістинг файлу із командами потокового редактора sed
  4. Лістинги awk-програм
  5. Висновок
Для кого:Студенти технічних спеціальностей, викладачі та дослідники у галузі комп'ютерних наук і мережевих операційних систем.
Викладачі:Не вказано

Ключові поняття

sedawkутиліташаблонтекстовий файлкомандаобробка данихскрипт

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

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА”  ЗВІТ ДО ПРАКТИЧНОЇ РОБОТИ № 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 . Навчився використовувати їх різноманітні функції, команди. На прикладах вивчив можливості даних утиліт, під час редагування текстової інформації
Допоможи студентському архіву

Ми допомогли тобі — допоможи наступному студенту

Файл ще не обрано

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

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

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

Admin

26.02.2023 12:38

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