• Nie Znaleziono Wyników

2012-12-11 JarosławPiersa Wstępdosystemówwielozadaniowychlaboratorium17—sed

N/A
N/A
Protected

Academic year: 2021

Share "2012-12-11 JarosławPiersa Wstępdosystemówwielozadaniowychlaboratorium17—sed"

Copied!
13
0
0

Pełen tekst

(1)

Wstęp do systemów wielozadaniowych laboratorium 17 — sed

Jarosław Piersa

Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika

2012-12-11

J. Piersa WSWZ 2012/2013 Laboratorium 17

(2)

Ćwiczenie 1 — Na rozgrzewkę

Napisz polecenie SED, które

wyświetli z pliku pierwsze 10 wierszy

Wyświetli z pliku linie, które nie zawierają cyfr Usunie w pliku puste wiersze

wyświetli z pliku linie od tej, która zawiera słowo alado tej która zawiera słowokotek

J. Piersa WSWZ 2012/2013 Laboratorium 17

(3)

Ćwiczenie 2 — wyrażenia regularne

w kodzie c zamieni importy:

#include<plik.h>

na:

#include<cplik>

wsk: można wykorzystać cytowania dopasowanych wzorców() za pomocą\1, \2 itd.

J. Piersa WSWZ 2012/2013 Laboratorium 17

(4)

Ćwiczenie 3 — teksty

Napisz polecenie SED, które

wstawia spację po przecinkach, kropkach średnikach i dwukropkach w zdaniach np. Na kolokwium będą

np.sed,awk i możliwe,że wrócimy jeszcze do scp.

usuwa podwójne spacje między słowami

J. Piersa WSWZ 2012/2013 Laboratorium 17

(5)

Ćwiczenie 4a komentarze html

za pomocąwget pobierz stronę ww wydziału (albo osoby obok) Za pomocą seda usuń komentarze html tzn: <!-- komentarz -->

rozszerz polecenie, aby usuwało również komentarze wieloliniowe wskazówka: złam linię przed rozpoczęciem każdego komentarza złam linię po zamknięciu komentarza

za pomocą dopasowania zakresu usuń wielolinijkowe komentarze

J. Piersa WSWZ 2012/2013 Laboratorium 17

(6)

Ćwiczenie 4b — nagłówek http

za pomocąGET -e adres.www wyświetl całą wiadomość protokołu http (wraz z nagłówkiem)

za pomocą seda z w/w wiadomości wytnij nagłówek i zapisz do pliku, wytnij samą treść komunikatu http i zapisz do osobnego pliku,

J. Piersa WSWZ 2012/2013 Laboratorium 17

(7)

Ćwiczenie 5 — skrypty sed

Do 4a dodatkowo dopisz usuwanie pustych linii

Połącz uzyskane polecenia w skrypt tekstowyhtml.sed, który automatycznie usunie komentarze i puste wiersze

wywołaj skrypt za pomocą seda

J. Piersa WSWZ 2012/2013 Laboratorium 17

(8)

Ćwiczenie 6 — Komentarze c.d.

Napisz skrypt sed, który usunie komentarze z kodu Pascala skrypt powinien usuwać wszystkie typy komentarzy

w tym(* *)łamane pomiędzy linami.

Zastanów się jak rozszerzyć skrypt aby omijał komentarze w napisach

tekst = "to jest (* napis *) a nie komentarz!";

J. Piersa WSWZ 2012/2013 Laboratorium 17

(9)

Ćwiczenie 7 — Łączenie wierszy

Zamień plik tekstowy na jeden długi wiersz

Wsk: wymaga poleceniaN— wczytanie do bufora dodatkowo następnego wiersza

usuń z pliku tekstowego wiszące spójniki

J. Piersa WSWZ 2012/2013 Laboratorium 17

(10)

Zadanie domowe 1 — Komentarze w C

Napisz skrypt w sed który usunie komentarze w C, w tym:

linijkowe// do końca wiersza blokowe: /* w tym łamane pomiędzy linijkami */

J. Piersa WSWZ 2012/2013 Laboratorium 17

(11)

Zadanie domowe 2 — Tagi html

Napisz skrypt w sed, który:

wytnie wszystkie tagi i komentarze z pliku html.

usunie puste wiersze

pozostawi sam tekst na stronie

J. Piersa WSWZ 2012/2013 Laboratorium 17

(12)

Zadanie domowe 3 — Nadpisujące aliasy

Napisz skrypt w sed, który

Na początku pliku wstawi linię

# plik edytowany automatytcznie przez seda Wyszuka złośliwych aliasowań:

alias "komenda=coś --parametry"

alias komenda2=coś2

gdziekomenda jest jednym z plików wykonywalnych leżących na /bin/lub/usr/bin

Znalezione aliasowania, które coś przesłaniają powinny zostać zakomentowane

Na koniec pliku wstawi napis

# edycja zakończona + data rrrr-mm-dd-gg:mm:hh

J. Piersa WSWZ 2012/2013 Laboratorium 17

(13)

Zadanie domowe 3 — Nadpisujące aliasy

Wskazówka:

wynik wykonania seda zapisz jako zmienną, którą wykorzysta inny sed do wychwycenia wzorców

np. ZMIENNA=echo "Jakiś napis"

polecenie: sed -e ’/s/’$ZMIENNA’/jakiś inny napis/g’

łącznie wierszy w jedną linię:

sed -e:a -e N -e ’s/\n/ /’ -e ta ./ścieżka

J. Piersa WSWZ 2012/2013 Laboratorium 17

Cytaty

Powiązane dokumenty

Widma powstałe na skutek promieniowania wysyłanego (emitowanego) przez ciała pobudzone do świecenia nazywamy widmami emisyjnymi (ciągłe i liniowe). Widmem absorpcyjnym nazywamy

- opracowując kod nowych funkcji można posłużyć się zawartością pliku wzorce ze strony przedmiotu.

Dowiesz się, jakie znaczenie mają ptaki w przyrodzie i dla człowieka.. Poznasz sposoby

• Możliwość wykonania danej operacji na określonych rastrach może być uzależniona od głębokości piksela, typu kodowania danych, (np. rastry typu „ze znakiem” nie

Zwróć uwagę na możliwość powstawania stereoizomerów – przedstaw ich wzory przestrzenne.. Czy produkt posiada asymetryczne

Na początku metody main() zadeklaruj zmienną klasy String o nazwie nazwaPliku , która dalej posłuży do przechowywania nazwy pliku do zapisu danych.. Ponadto

-stwórz wzorzec dla elementu „procesor” i w nim zawrzyj obsługę elementów typ, cena i link w taki sposób aby wyświetlane były one zawsze w tej samej kolejności (typ , potem cena

Jeśli masz taką możliwość kartę nr 2 też wydrukuj i wklej