Docsity
Docsity

Przygotuj się do egzaminów
Przygotuj się do egzaminów

Studiuj dzięki licznym zasobom udostępnionym na Docsity


Otrzymaj punkty, aby pobrać
Otrzymaj punkty, aby pobrać

Zdobywaj punkty, pomagając innym studentom lub wykup je w ramach planu Premium


Informacje i wskazówki
Informacje i wskazówki

Linux - Notatki - Programowanie - Część 3, Notatki z Informatyka

Informatyka: notatki z zakresu programowania dotyczące struktury linuxa. Część 3.

Typologia: Notatki

2012/2013

Załadowany 12.04.2013

Norbert_88
Norbert_88 🇵🇱

4.5

(31)

322 dokumenty

Podgląd częściowego tekstu

Pobierz Linux - Notatki - Programowanie - Część 3 i więcej Notatki w PDF z Informatyka tylko na Docsity! Autor : Piotr Piętak Linux jjjj-07-tt GR PiS ds. informatyzacji Podstawy używania systemu strona 47 Rozdział 7 : Zarządzanie procesami 7.1 Skrypty - pierwsze kroki w programowaniu Skrypt jest plikiem tekstowym zawierającym polecenia. Skrypt możemy utworzyć przy pomocy każdego edytora dostępnego w systemie Linux (emacs,vi,vim). Ponieważ, w naszym przypadku, poznaliśmy tylko vi, więc użyjemy tego właśnie edytora do utworzenia kilku skryptów by zilustrować najprostsze zasady programowania w bashu. Zalogujmy się jako administrator systemu (root) i po ukazaniu się na ekranie znaku zachęty (przypominam, że w przypadku administratora jest to #) stworzymy plik o nazwie skrypt1 # vi skrypt1 #!/bin/bash_ cal who date ~ ~ ~ ~ ~ Wyjaśnienie : 1. każdy skrypt musi zaczynać się od wypełnienia pierwszej lini przez #!/bin/bash, która definiuje ścieżkę dostępu do interpretatora, który wykona a raczej zinterpretuje polecenia zawarte w skrypcie. W naszym przypadku jest nim /bin/bash 2. utworzony pliku o nazwie skrypt1 jest plikiem zwykłym, który nie może być egzekwowany. Wykonajmy polecenie # ls -l skrypt1 -rw-r--r-- 1 piotr ola 15 marca 2004 skrypt1 Jak widzimy prawa użytkownika do pliku są ograniczone do jego czytania i modyfikowania, członkowie grupy ola i i pozostali użytkownicy systemu mogą go tylko czytać (czy wiesz dlaczego – jeśli nie – powtórz rozdział …). Utworzony plik skrypt1 musimy uczynić wykonalnym, innymi słowy chcemy mu nadać prawo wykonywania, ale prawo to przypiszemy tylko jego właścicielowi. W tym celu musisz wykonać następujące polecenie : # chmod u+x skrypt1 Po wykonaniu tego polecenia powtórzmy raz jeszcze polecenie ls -l ls -l skrypt1 -rwxr--r-- 1 piotr ola 15 marca 2004 skrypt1 Autor : Piotr Piętak Linux jjjj-07-tt GR PiS ds. informatyzacji Podstawy używania systemu strona 48 Czy widzisz różnice ? 1, 2, 3 znak wyświetlonej informacji pozostają bez zmiany, natomiast czwarty zmienia się z „-” na „x”. Oznacza to, że skrypt1 jest plikiem wykonywalnym przez jego właściciela. Reszta wyświetlonej informacji pozostaje bez bez zmian co oznacz, że członkowie grupy oraz inni użytkownicy nie mają prawa wykonywać tego skryptu. Pytanie : w jaki inny sposób możesz przypisać prawa wykonywania pliku tylko przez jego właściciela ? 7 Po wykonaniu polecenia z punktu 2, nasz skrypt może być wyegzekwowany jako polecenie skrypt1. # skrypt1 7.1.1 Przekazywanie parametrów do skryptu Utwórzmy plik o nazwie katalog1, który będzie zawierał tylko jedno polecenie : # vi katalog1 #!/bin/bash_ ls -aCF ~ ~ ~ ~ ~ Następnie nadajmy wszystkim użytkownikom prawo do jego wykonywania : # chmod a+x katalog1 W tym momencie skrypt katalog1 możemy wyegzekwować, wiemy jednak, że lista plików i podkatalogów wyświetlona na ekranie dotyczyłaby tylko katalogu bieżącego. Co możemy zrobić by otrzymać listę plików z innych katalogów bez każdorazowego poprawiania skryptu katalog1 ? Aby zautomatyzować (przynajmniej częściowo) wyświetlanie plików w różnych katalogach, zastosujemy mechanizm przekazywania parametrów do skryptu. Jak pamiętamy polecenie w linuksie składa się z samego polecenia np. ls , opcji np. –l i argumentów n.p /usr. Zarówno opcje jak argumenty możemy nazwać parametrami. Nazwa skryptu jest też poleceniem, któremu możemy przekazać parametry, z tym że parametry przekazywane do skryptu przypisywane są zmiennym, które oznaczamy jako $1, S2……S9. $1 odpowiada pierwszemu argumentowi polecenia, $2 drugiemu itd. Co to w praktyce oznacza ? Przypuśćmy, że chcemy wyświetlić na ekranie – egzekwując skrypt katalog1 – zawartość katalogu /tmp, w tym celu wykonamy następujące polecenie : # katalog1 /tmp Jest to wartość, którą przyjmuje zmienna $1 (pierwszy argument Autor : Piotr Piętak Linux jjjj-07-tt GR PiS ds. informatyzacji Podstawy używania systemu strona 51 $ ps -ef UID PID PPID C STIME TTY TIME CMD root 1 0 0 May18 ? 00:00:03 init root 300 1 0 May18 ? 00:00:08 syslogd -m 0 daemon 327 1 0 May18 ? 00:00:00 /usr/sbin/atd root 343 1 0 May18 ? 00:00:00 crond root 359 1 0 May18 ? 00:00:03 inted root 411 1 0 May18 ? 00:00:00 sendmail root 444 1 0 May18 ? 00:00:00 httpd piotr 11736 11731 0 13:45 pts/0 00:00:00 /bin/bash piotr 11737 11732 0 13:45 pts/1 00:00:00 /bin/bash piotr 11738 11733 0 13:45 pts/0 00:00:00 /bin/bash $ ps -e PID TTY TIME COMD 7.4.2 Polecenie - kill Z uruchomionymi procesami możemy komunikować sie przy pomocy sygnałów, to właśnie polecenie kill umożliwia wysyłanie różnych sygnałów do procesów zarówno pierwszo jak i drugoplanowych. Rodzaj sygnału jest określony przez jego numer lub nazwę. $ kill -9  zlikwidowanie procesu $ kill 19  zatrzymanie wykonywania procesu z możliwością późniejszego jego Wznowienia $ kill 2  przerwanie wykonania procesu z klawiatury (Carl +c) Można zlikwidować konkretny proces tylko trzeba znać jego numer PID $ ps -u piotr  wyświetla procesy użytkownika piotr PID TTY TIME COMD 250 pts/1 0:02 bash 259 ? 0:15 plika $ kill 259 $ ps -u piotr  PID TTY TIME COMD Autor : Piotr Piętak Linux jjjj-07-tt GR PiS ds. informatyzacji Podstawy używania systemu strona 52 250 pts/1 0:02 bash 7.5 Zarządzanie „pracami” Zapewne zwróciłeś już uwagę, ze w tym rozdziale wprowadziliśmy nowe pojęcia „zadania”. Czym jest „zadanie” i czym ono się różni od np polecenia procesu. Otóż termin ten Rozpatrujemy nie w kontekście systemu, lecz w kontekście pracy konkretnego użytkownika np uruchomiony edytor tekstowy będzie konkretnym procesem w systemie, ale też jednocześnie zadaniem użytkownika, który realizuje swój cel – napisanie tekstu.. Czyli możemy określić zadanie jako zlecenie systemowi przez użytkownika określonego działania. Zilustrujmy pojęcie zadania na konkretnym przykładzie. Wykonamy następujące polecenie $ ls –R / Jak pamiętasz polecenie ls wyświetla pliki w katalogu (w tym przypadku wyświetli co ?) Zatrzymajmy egzekucję tego polecenia przy pomocy kombinacji klawiszy [Ctrl] + z Na ekranie otrzymamy następującą informacje : [1]+ Stoppel ls -R/ Wykonajmy raz jeszcze : $ ls –R / I raz jeszcze zatrzymajmy egzekucje polecenia. Otrzymamy następujące informacje na ekranie [2]+ Stoppel ls -R/ W tym momencie wykonamy polecenie jobs , które wyświetla listę zadań na ekranie $ jobs [1]+ Stopped ls -R/ [2]+ Stopped ls -R/ Jeżeli zastosujemy w poleceniu jobs opcje -l otrzymamy na ekranie cenne informacje $ jobs -l [1]+ Stopped 122 ls -R/ [2]+ Stopped 123 ls -R/ Liczba 122 I 123 to numery bezwzględnych identyfikatorów procesów PID. Do ponownego uruchomienia zatrzymanego zadania na pierwszym planie używamy polecenia fg. Do ponownego uruchomienia zatrzymanego zadania na drugim planie używamy polecenia bg. Autor : Piotr Piętak Linux jjjj-07-tt GR PiS ds. informatyzacji Podstawy używania systemu strona 53 Jeżeli chcemy uruchomić , których z zatrzymanych procesów ls –R / to należy wykonać $ fg %1 Lub $ fg %2 7. 6 Ćwiczenia Ćwiczenie 1 Wykonaj polecenie „ps” i wyjaśnij znaczenie każdej wyświetlonej kolumny Ćwiczenie 2 Utwórz skrypt, który wyświetla co 30 sekund „dzien dobry’’. Możesz tego dokonać używając polecenia : cat $ cat > dzien dobry #!/bin/bash While true do Banner dzien dobry done Ctrl-D $ Wyegzekwuj ten skrypt poza planem i wyświetl jego PID, a następnie numer wykonywanego zadania Ćwiczenie 3 Zlikwiduj egzekucje tego skryptu używając jego nr. PID albo nr. zadania Ćwiczenie 4 Wykonaj polecenie : $ ps aux Autor : Piotr Piętak Linux jjjj-07-tt GR PiS ds. informatyzacji Podstawy używania systemu strona 56 Przeanalizujmy kilka wyrażeń regularnych aby lepiej zrozumieć ich działanie. Wyrażenie, które pozwala w tekście wyszukać linie białe (niezapisane) ,ma postać następującą : ^$ używamy w nim tylko znaku ^ i $, które oznaczają początek i koniec linii (wiersza).Wyrażenie wskazuje, że pomiędzy początkiem i końcem linii nie ma nic, co odpowiada linii całkowicie niezapisanej. Porównajmy teraz dwa wyrażenia regularne i spróbujmy dokładnie określić różnice zachodzące pomiędzy nimi. WR1  ^.*$ : WR2  ^.+$ W wyrażeniu WR1 na 3 pozycji znajduje się gwiazdka natomiast w wyrażaniu WR2 na tej samej pozycji znajduje się znak plus, co zmienia radykalnie zakres działania obu wyrażeń : WR1 wyszuka zarówno linie zapisane jak i niezapisane natomiast WR2 selekcjonuje tylko linie zapisane. Dlaczego? (spróbuj odpowiedzieć na to sam) Spróbujmy znaleźć znaczenie następującego wyrażenia regularnego : ^\* [0-9]*\. [0-9][0-9]\$.*$ Jak widzimy powyższe „wyrażenie regularne”, biorąc pod uwagę, że jest ono skomponowane z samych wieloznacznych symboli, może stać się całkowicie niezrozumiałe : jedyna metoda by odszyfrować (jak w podanym przykładzie) jego znaczenie polega na dekompozycji wyrażenia na mniejsze fragmenty poczynając od strony lewej i posuwając się w prawo. Postępując w ten sposób nasz przykład możemy przedstawić w następującej formie : 1 2 3 4 5 6 7 8 9 ^ \* [0-9]* \. [0-9][0-9] \$ .* $ 1. Na pierwszym miejscu ^, który oznacza, że poszukiwany ciąg znaków znajduje się na początku wiersza (linii) 2. Na drugim miejscu znajdujemy wyrażenie \*, które znaczy, że pierwszy znak z tego ciągu jest „* ” (czy wiesz dlaczego ?) 3. Na trzecim miejscu w szukanym ciągu znaków znajduje się spacja 4. Na czwartym miejscu wyrażenie [0-9]* oznacza obojętnie jaką liczbę lub jej brak 5. Na piątym miejscu znajdujemy wyrażenie \., które oznacza że piątym znakiem ciągu jest „.” 6. Na szóstym miejscu powinniśmy znaleźć liczbę dwucyfrową 7. Na siódmym miejscu wyrażenie \$ oznacz, że w tym miejscu musi koniecznie znajdować się znak monetarny dolara : „$” 8. Na ósmym miejscu znajdujemy wyrażenie, które oznacza jakakolwiek liczba znaków (może być zero) 9. Na dziewiątym miejscu znajdujemy $, który oznacza koniec linii znak ten powinniśmy rozpatrywać wspólnie z poprzedzającym go wyrażeniem .*, które jak pamiętamy oznacza : Autor : Piotr Piętak Linux jjjj-07-tt GR PiS ds. informatyzacji Podstawy używania systemu strona 57 jakąkolwiek liczbę znaków z tego wynika, że wyrażenie .*$ oznacza jakąkolwiek liczbę znaków do końca wiersza Z powyższej analizy wynika jeden bardzo ważny wniosek : wyrażenie .* można używać jako wyrażenie regularne, lecz trzeba mieć świadomość, że używane w formie wyizolowanej, jego użyteczność nie ma większego znaczenia, ponieważ odpowiada ono poszukiwaniu pustego ciągu znaków. Inaczej mówiąc poszukiwania ciągu znaków korespondującego wyrażeniu .* zanim się rozpoczną już się kończą znajdując pusty ciąg znaków Rozszerzone wyrażenia regularne +  znak plus służy do wyszukania co najmniej jednego go poprzedzającego, tak więc a+ oznacza jedna lub wiele liter a, natomiast a* wyszykuje 0 lub więcej znaków a ( )  nawiasy służą do grupowania wyrażeń regularnych n.p (bla)* pozwala znaleźć w tekście bla i blabla blablabla etc. ?  pozwala wyszukać 0 lub jedną obecność zdefiniowanego ciągu znaków. Tak więc wyrażenie (\.com)? pozwala wyszukać nazwy plików kończące się na .com, przy czym nieobecność pliku o takim zakończeniu jest dopuszczalna (0 lub…) |  pozwala wyszukiwać ciągi znaków alternatywne Przykłady : $ cat plik 123 plik służy 45 do przedstawienia 678 podstawowych założeń wyrażeń regularnych $ grep ‘sluzy$’ plik #szukamy „sluzy” na końcu linii 123 plik sluzy $ grep ‘i.*i’ plik #szukamy linii, która zawiera co najmniej dwie litery „i” 45 do przedstawienia $ grep `^[a-zA-Z]* plik #wyszykujemy linie zawierające tylko litry alfabetu wyrażeń regularnych $ sed `s/^[0-9]*//` plik #znosimy numerowanie linii plik służy Autor : Piotr Piętak Linux jjjj-07-tt GR PiS ds. informatyzacji Podstawy używania systemu strona 58 do przedstawienia podstawowych założeń wyrażeń regularnych $ ls -l | grep ‘^d’ #wyszykujemy katalogi drwxrwxr-x 2 piotr 1024…………………. $ ls -p | grep ‘/$’ #wyszukujemy katalogi $ ls –a | grep ‘^\.’ #wyświetlamy tylko pliki zaczynające się od „.” . .. .profile 9.1 Polecenie find Polecenie find służy do wyszukiwania, według ściśle określonych kryteriów, pliku (lub plików) w drzewie katalogowym. Jeżeli kryteria są pozytywnie zweryfikowane (to znaczy plik lub pliki są znalezione) to wtedy możemy wykonać na nich określone działania. Ogólny wzór polecenia find wygląda następująco : find katalog [kryteria wyszukiwania] [kryteria egzekucji] Wyliczmy najpierw kryteria wyszukiwania -name plik szukany plik musi nazywać się plik.txt -type plik plik może przyjmować następujące wartości f - plik regularny d - katalog c,b - pliki specjalne -size plik musi mieć odpowiednia objętość -user piotr plik ma właściciela który nazywa się piotr -group ada plik przynależy do grupy ada Wyliczmy teraz kryteria egzekucji -print #wyświetla ścieżkę dostępu do znalezionego pliku -exec cmd {} \; wykonuje polecenie cmde z argumentem pliku Operacje logiczne wyrażenie w poleceniu find ET -a OU -b Autor : Piotr Piętak Linux jjjj-07-tt GR PiS ds. informatyzacji Podstawy używania systemu strona 61 Kregkato KA Jan Kowalski 23 .98. \3\ 88 Kregkato KA Piotr Pawlak 23 .98. \3\ 88 Wyjaśnienie : Na ekranie wyświetlają się linie zawierające cyfrę „3” obramowaną przez \3\ $ grep ‘^[KW]’ dataplik Kregkato KA Jan Kowalski 23 .98. \3\ 88 Kregkato KA Piotr Pawlak 23 .98. \3\ 88 Wregwielko WK Marian Kluska 35 .98. \4\ 91 Wyjaśnienie : Na ekranie wyświetlają się wszystkie linie zaczynające się o litery „K” albo „W”. $ grep ‘[A-Z][A-] [A-Z][A-Z] Kregkato KA AB Kowalski 23 .98. \3\ 88 Greggda GD DA Polak 58 .69. \9\ 87 Wyjaśnienie : Na ekranie wyświetlają się linie zawierające dwie duże litery następujące natychmiast po sobie po których występuje spacja i znów dwie duże litery następujące natychmiast po sobie. $ grep ‘ll* ‘ dataplik Cregcent CE Jola Krul 19 .74 \1\ 65 Cregcent CE Mariusz Poll 19 .54. \1\ 25 Wyjaśnienie : Na ekranie wyświetlają się linie zawierające małą literę „l” po której występuje zero lub więcej razy także mała litera „l” po której następuje spacja 9.3 Edytor sed Edytor sed czyli edytor strumienia linii jest narzędziem informatycznym używanym do wyszukiwania - wg wzorca opartego zazwyczaj na regułach zdefiniowanych w wyrażeniach regularnych – linii w pliku, do ich zmieniania wyświetlania na ekranie czy też skierowywania rezultatów manipulacji do nowego pliku . Ogólny wzorzec polecenia sed wygląda następująco : sed opcja ‘wyszukiwany wzorzec’ nazwa_pliku Autor : Piotr Piętak Linux jjjj-07-tt GR PiS ds. informatyzacji Podstawy używania systemu strona 62 sed posiada następujące funkcje, których zastosowanie przetestujemy w ćwiczeniach : Opcje -e wielokrotne wyświetlanie linii -n nie wyświetla na ekranie linii, które nie były zmodyfikowane -f ,plika> plik plika zawiera program z wyrażeniami sed Znaki specjalne używane przez edytor sed ^ wyszukuje linie zaczynające się od wyrazu poprzedzonego tym znakiem n.p ^love wyświetla wszystkie linie w pliku, które na początku maja love $ wyszukuje linie kończące sie wyrazem zakończonym tym znakiem np love$ wyświetla wszystkie linie w pliku, które na końcu mają love . wyszukuje linie z jednym znakiem np /l..e/ wyszukuje linie zawierające l po Nim dwa obojętnie jakie znaki zakończone znakiem e * wyszukuje zero lub więcej linii poszukiwanego ciągu znaków / *love/ wyszukuje linie z Zerem lub więcej spacji po której następuje słowo love [] wyszukuje jeden znak w danym zbiorze n.p /[Ll]ove/ wyszukuje linie, które zawierają Słowo love lub Love [^ ] wyszukuje jeden znak nie zawarty w zbiorze n.p /[^A-KM-Z]ove/ wyszukuje linie nie Zawierające zbioru od A do Z lub od M do i zakończone ove Funkcje s zmiana jednego ciągu znaków na inny n.p $ sed ‘s/root/adm/g’ /etc/passwd zmiana w pliku /etc/passwd słowa “root” na „adm” d usuwanie linii c zmiana tekstu w danej linii na nowy tekst a dorzucenie nowych linii p wyświetlenie wszystkich linii zawartych w pliku g dotyczy całości pliku Autor : Piotr Piętak Linux jjjj-07-tt GR PiS ds. informatyzacji Podstawy używania systemu strona 63 Przetestujemy teraz funkcjonowanie sed używając do tego celu tego samego pliku dataplik którego zawartość drukujemy poniżej. Nazwa symbol Imie i nazwisko Liczba Plan liczba liczba regionu regionu dyrektora per. Pododdziałów w % towarów personelu Kregkato KA AB Kowalski 23 .98. \3\ 88 Kregkato KA Piotr Pawlak 23 .98. \3\ 88 Pregpod PO Krzysztof Wrak 25 .45. \2\ 77 Cregcent CE Jola Krul 19 .74 \1\ 65 Mregmazu MA Urszula Kropiuk 14 .54. \5\ 85 Pregpod PO Zygmunt Malina 25 .45. \2\ 54 Wregwielko WK Marian Kluska 35 .98. \4\ 91 Greggda GD DA Polak 58 .69. \9\ 87 Cregcent CE Mariusz Poll 19 .54. \1\ 25 $ sed ‘4q’ dataplik Kregkato KA AB Kowalski 23 .98. \3\ 88 Kregkato KA Piotr Pawlak 23 .98. \3\ 88 Pregpod PO Krzysztof Wrak 25 .45. \2\ 77 Cregcent CE Jola Krul 19 .74 \1\ 65 Wyjaśnienie : wyświetlamy tylko 4 pierwsze linie $ sed ‘/KA/p’ dataplik Kregkato KA AB Kowalski 23 .98. \3\ 88 Kregkato KA Piotr Pawlak 23 .98. \3\ 88 Pregpod PO Krzysztof Wrak 25 .45. \2\ 77 Cregcent CE Jola Krul 19 .74 \1\ 65 Mregmazu MA Urszula Kropiuk 14 .54. \5\ 85 Pregpod PO Zygmunt Malina 25 .45. \2\ 54 Wregwielko WK Marian Kluska 35 .98. \4\ 91 Greggda GD DA Polak 58 .69. \9\ 87 Cregcent CE Mariusz Poll 19 .54. \1\ 25 Wyjaśnienie : wyświetlamy z opcja p całość pliku mimo istnienia /KA/ $ sed -n ‘/KA/p’ dataplik Kregkato KA AB Kowalski 23 .98. \3\ 88 Kregkato KA Piotr Pawlak 23 .98. \3\ 88 Wyjaśnienie : to opcja –n umożliwia nam wyświetlenie linii zawierających poszukiwany ciąg znaków W tym wypadku /KA/ Autor : Piotr Piętak Linux jjjj-07-tt GR PiS ds. informatyzacji Podstawy używania systemu strona 66 Kregkato KT AB Kowalski 23 .98. \3\ 88 Kregkato KT Piotr Pawlak 23 .98. \3\ 88 Pregpod PO Krzysztof Wrak 25 .45. \2\ 77 Cregcent CE Jola Krul 19 .74 \1\ 65 Mregmazu MA Urszula Kropiuk 14 .54. \5\ 85 Pregpod PO Zygmunt Malina 25 .45. \2\ 54 Wregwielko WK Marian Kluska 35 .98. \4\ 91 Greggda GD DA Polak 58 .69. \9\ 87 Cregcent CE Mariusz Poll 19 .54. \1\ 25 Wyjaśnienie : właśnie opcje „g” $ -n ‘s/^Cre/Ine/p’ dataplik Inegcent CE Jola Krul 19 .74 \1\ 65 Inegcent CE Mariusz Poll 19 .54. \1\ 25 Wyjaśnienie : jak pamiętamy opcja –n oznacza wyświetlenie tylko linii zmodyfikowanych, w Tym wypadku tych w zamieniono ciąg znaków Cre na Ine $ sed ‘/Kowalski/,/Kropiuk/d’ dataplik Pregpod PO Zygmunt Malina 25 .45. \2\ 54 Wregwielko WK Marian Kluska 35 .98. \4\ 91 Greggda GD DA Polak 58 .69. \9\ 87 Cregcent CE Mariusz Poll 19 .54. \1\ 25 Wyjaśnienie : usunięcie linii od linii zawierającej ciąg znaków Kowalski do linii zawierającej ciąg znaków Kropiuk $ sed -n ‘/^Pre/p’ dataplik Pregpod PO Krzysztof Wrak 25 .45. \2\ 77 Pregpod PO Zygmunt Malina 25 .45. \2\ 54 Wyjaśnienie : wyświetlamy tylko linie zawierające na początku ciąg znaków Pre $ sed -n ‘s/Krul/Wrak/gp’ dataplik Cregcent CE Jola Wrak 19 .74 \1\ 65 Autor : Piotr Piętak Linux jjjj-07-tt GR PiS ds. informatyzacji Podstawy używania systemu strona 67 Wyjaśnienie : wyświetlamy tylko linię gdzie dokonano zamiany ciągu znaków Krul na Wrak Reszta przykładów jest bardziej skomplikowana musisz wiedzieć, że wyrażenie \(…)\ numerowanie ciągu znaków, które chcesz zamienić. Spróbuj rozszyfrować poniższe przykłady $ sed -n ‘s/\Pa\)wlak/\liwoda/p’ datafile Kregkato KA Piotr Paliwoda 23 .98. \3\ 88 Wyjaśnienie : $ sed ‘/Kowalski/,/Kropiuk/d’ dataplik Pregpod PO Zygmunt Malina 25 .45. \2\ 54 Wregwielko WK Marian Kluska 35 .98. \4\ 91 Greggda GD DA Polak 58 .69. \9\ 87 Cregcent CE Mariusz Poll 19 .54. \1\ 25 Wyjaśnienie : $ sed ‘s/\\[0-9]\\/\*[0-9]\*/p’ dataplik Kregkato KA AB Kowalski 23 .98. *3* 88 Kregkato KA Piotr Pawlak 23 .98. *3* 88 Pregpod PO Krzysztof Wrak 25 .45. *2* 77 Cregcent CE Jola Krul 19 .74 *1* 65 Mregmazu MA Urszula Kropiuk 14 .54. *5* 85 Pregpod PO Zygmunt Malina 25 .45. *2* 54 Wregwielko WK Marian Kluska 35 .98. *4* 91 Greggda GD DA Polak 58 .69. *9* 87 Cregcent CE Mariusz Poll 19 .54. *1* 25 Wyjaśnienie : $ sed ‘/Kato/,/pod/s/$/@@/’ dataplik Kregkato KA AB Kowalski 23 .98. \3\ 88@@ Kregkato KA Piotr Pawlak 23 .98. \3\ 88@@ Pregpod PO Krzysztof Wrak 25 .45. \2\ 77@@ Nazwa symbol Imie i nazwisko Liczba wykonanie liczba liczba Autor : Piotr Piętak Linux jjjj-07-tt GR PiS ds. informatyzacji Podstawy używania systemu strona 68 regionu regionu dyrektora per. Pododdziałów planu w % towarów personelu Kregkato KA AB Kowalski 23 .98. \3\ 88 Kregkato KA Piotr Pawlak 23 .98. \3\ 88 Pregpod PO Krzysztof Wrak 25 .45. \2\ 77 Cregcent CE Jola Krul 19 .74 \1\ 65 Mregmazu MA Urszula Kropiuk 14 .54. \5\ 85 Pregpod PO Zygmunt Malina 25 .45. \2\ 54 Wregwielko WK Marian Kluska 35 .98. \4\ 91 Greggda GD DA Polak 58 .69. \9\ 87 Cregcent CE Mariusz Poll 19 .54. \1\ 25 -rw-r—r-- 1 piotr Oracle 0 May 3 15:14 2003, plik1 -rwxr—r-- 1 root sys 514 May 15 16:14 2003, plik1 10 blocks