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

Podobne dokumenty