Wstep do systemów wielozadaniowych laboratorium 17 --
Transkrypt
Wstep do systemów wielozadaniowych laboratorium 17 --
Ćwiczenia 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 Ćwiczenia Ć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 ala do tej która zawiera słowo kotek J. Piersa WSWZ 2012/2013 Laboratorium 17 Ćwiczenia Ć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 Ćwiczenia Ć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 Ćwiczenia Ć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 Ćwiczenia Ć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 Ćwiczenia Ćwiczenie 5 — skrypty sed Do 4a dodatkowo dopisz usuwanie pustych linii Połącz uzyskane polecenia w skrypt tekstowy html.sed, który automatycznie usunie komentarze i puste wiersze wywołaj skrypt za pomocą seda J. Piersa WSWZ 2012/2013 Laboratorium 17 Ćwiczenia Ć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 Ćwiczenia Ćwiczenie 7 — Łączenie wierszy Zamień plik tekstowy na jeden długi wiersz Wsk: wymaga polecenia N — wczytanie do bufora dodatkowo następnego wiersza usuń z pliku tekstowego wiszące spójniki J. Piersa WSWZ 2012/2013 Laboratorium 17 Ćwiczenia 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 Ćwiczenia 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 Ćwiczenia 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 gdzie komenda 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 Ćwiczenia 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