WSWZ — Laboratorium – sed
Transkrypt
WSWZ — Laboratorium – sed
WSWZ — Laboratorium – sed Jarosław Piersa 2013-11-29 Zadanie 1 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 Zadanie 2 Zamień includy ze wtylu c na c++: • w kodzie c zamieni importy: #include<plik.h> na: #include<cplik> • wsk: można wykorzystać cytowania dopasowanych wzorców () za pomocą \1, \2 itd. Zadanie 3 Napisz polecenie SED, które • wstawia spację po przecinkach, kropkach średnikach i dwukropkach w zdaniach np. Na kolokwium będą na pewno vi,grep,wyrażenia regularne i możliwe,że wrócimy jeszcze do scp. • usuwa podwójne spacje między słowami Zadanie 4 • za pomocą wget pobierz stronę ww wydziału (albo osoby obok) wget www . mat . umk . pl • 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 1 Zadanie 5 • 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, • uwaga: nagłówek od treści oddziela pojedyncza pusta linia Zadanie 6 • Napisz skrypt sed, który usunie komentarze z kodu Pascala • skrypt powinien usuwać wszystkie typy komentarzy • w tym (* *) łamane pomiędzy linami (w sedzie da się) • Zastanów się jak rozszerzyć skrypt aby omijał komentarze w napisach tekst = "to jest (* napis *) a nie komentarz!"; Zadanie 7 (trudne) Napisz skrypt w sed, który znajdzie złośliwe aliasowania • znajdz 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 wstaw napis # edycja zakończona + data rrrr-mm-dd-gg:mm:hh Wskazówki: • wyszukaj nazwy plików z /usr/bin i /bin, za pomocą seda połącz je w jeden ciąg nazw rozdzielonych | (alternatywa wyrażeń regularnych) • wynik powyższego seda zapisz jako zmienną, którą wykorzysta inny sed do wychwycenia wzorców ZMIENNA = sed ... • Tą zmienną można teraz wykorzystać w innym skrypcie: sed -e ’/ s / ’\ $ { ZMIENNA } ’/ inny_napis /g ’ • łącznie wierszy w jedną linię: sed -e : a -e N -e ’s /\ n / / ’ -e ta ./ cieka 2