Zajęcia 4 Polecenia linux 3 Polecenie find



Pobieranie 33.96 Kb.
Data29.04.2016
Rozmiar33.96 Kb.
Zajęcia 4 - Polecenia linux 3

Polecenie find

Poniższe polecenie wyszukuje plików o nazwie myfile w katalogu /home/login.

find /home/login -name myfile -type f

Polecenie

find local /tmp -name mydir -type d

wyszukuje katalogi o nazwie mydir w podkatalogu local bieżącego katalogu i w katalogu /tmp.

ZADANIA


  1. Pokaż wszystkie pliki w bieżącym katalogu wraz z podkatalogami.

  2. W katalogu domowym znajdź wszystkie pliki z rozszerzeniem .txt.

  3. Znajdź pliki z rozszerzeniem .txt w katalogu domowym lub /tmp.

  4. Znajdź wszystkie katalogi w katalogu domowym, które zaczynają się na literę 'k'.

Polecenie grep

  1. W katalogu domowym proszę stworzyć plik osoby.txt o zawartości:

    Marcin Błażejewski, Warszawa, ul. Mickiewicza 21/12


    Monika Pyrekos, Moskwa, ul. Rożno 45
    Adrian Tymieniecki, Sierpc, ul. Mickiewicza 21
    Aldona Pyrekos, Amsterdam, ul. White 44/234a
    Marzanna Adekwatna, Sierpc, ul. Włocławska 12/12

  2. W katalogu domowym proszę stworzyć plik samochody.txt o zawartości:

    ALFA ROMEO


    Audi
    BMW
    Chevrolet
    Chrysler
    CITROEN
    Dacia
    Dodge
    FIAT
    FORD
    FORD ESCORT
    Honda
    Hyundai
    Jaguar
    Jeep
    KIA
    LANCIA
    Land Rover
    LEXUS
    MAYBACH
    MERCEDES-BENZ
    MINI
    MITSUBISHI
    NISSAN
    OPEL
    PEUGEOT
    QUATTRO
    Renault
    SAAB
    SEAT
    Skoda
    Skoda Fabia
    Skoda Octavia
    Skoda SuperB
    SMART
    SSANGYONG
    SUBARU
    SUZUKI
    SUZUKI SWIFT
    TOYOTA
    Volkswagen
    Volksvagen Passat
    VOLVO

  3. W katalogu domowym proszę stworzyć plik grep.txt o zawartości:

  4. Ala ma kota, a może ma ich 32

  5. *A może ma ich x2?

  6. Ta linie zaczyna sie od dwoch spacji...



  7. Powyżej mamy pusta linie.

  8. Ale dziwny ten plik ... Nic z tego nie rozumiem!!!

  9. {o co chodzi?...} Pomocy!!!

  10. Mój adres e-mailowy to mojmail@math.uni.lodz.pl

  11. Adresem moim nie jest mojmail@math.lodz.com


Zasady tworzenia wyrażeń regularnych

  1. . - Jeden dowolny znak

  2. [...] - Dowolny znak z wymienionych w nawiasie.

  3. [abc] - pasuje do 'a' lub do 'b' lub do 'c'.

  4. [^...] - Dowolny znak z nie wymienionych w nawiasie.

  5. [^ds] - pasuje do wszystkich znaków za wyjątkiem 'd' i 's'.

  6. [0123456789] - pasuje do dowolnej z cyfr.

  7. [a-z] - pasuje do wszystkich liter od a do z

  8. [a-g] - pasuje do wszystkich liter od a do g (domyślnie)

  9. [A-Za-z] - dowolna duża lub mała litera

  10. ^ - pusty łańcuch na początku wiersza.

  11. $ - pusty łańcuch na końcu wiersza.

  12. \< - pusty łańcuch na początku słowa.

  13. \> - pusty łańcuch na końcu słowa.

  14. ? - element wcześniej może wystąpić co najwyżej raz

  15. * - element poprzedzający może wystąpić zero lub wiele razy

  16. + - element poprzedzający może wystąpić jeden raz lub więcej

  17. {n} - element poprzedzający musi wystapić dokładnie n razy

  18. {n,} - element poprzedzający musi wystapić dokładnie n razy lub więcej

  19. {n,m} - element poprzedzający musi wystapić n razy lub więcej, ale nie więcej niż m.

Ćwiczenia do powyższych plików

  1. Wyświetl wszystkie wiersze (nazwy samochodów) zawierające literę k

grep k samochody.txt

Polecenie grep wyświetli tylko wiersze zawierające małą literę k. Aby grep nie zwracał uwagi na wielkość liter, musimy użyć parametru -i:

grep -i k samochody.txt


  1. Wyświetl wszystkie wiersze zawierające napis Skoda.

grep Skoda samochody.txt

Jeżeli chcemy, aby grep wyświetlał wiersze, które nie zawierają zadanego wzorca, musimy posłużyć się parametrem -v.



  1. Wyświetl wszystkie wiersze, które nie zawierają samochodu Skoda

grep -v Skoda samochody.txt

Jeżeli wynik filtrowania chcesz uporządkować (posortować) alfabetycznie, możesz posłużyć się poleceniem sort.

grep -v Skoda samochody.txt | sort


  1. Ile razy w pliku samochody.txt występuje samochód SUZUKI.

grep -c SUZUKI samochody.txt

  1. Informację o numerach wierszy, w których wystąpił wzorzec, uzyskamy za pomocą parametru -n

grep -n Skoda samochody.txt
W większości poleceń można użyć dopasowywania do wzoraca, którym może być wyrażenie bardziej skomplikowane niż pojedyńcze słowo. Do konstruowania bardziej złożonych wzorcy służą tzw. wyrażenia regularne budowane przy pomocy metaznaków.

  1. Pokazać wszystkie samochody, których nazwy składają się z co najmniej 4 znaków

grep .... samochody.txt

  1. Pokazać wszystkie samochody, w nazwach których występuje łańcuch OR

grep OR samochody.txt

  1. Wydrukuj wszystkie nazwy samochodów, w których występuje łańcuch składający się z litery S i po niej litery różnej od literu U.

grep S[^U] samochody.txt

  1. Pokazać wszystkie nazwy samochodów, które zaczynają się na literę S, a po niej nie występuje litera U



grep ^S[^U] samochody.txt

5. Pokazać wszystkie nazwy samochodów, które kończą się na literę a (bez względu na wielkość liter).



grep -i a$ samochody.txt

  1. Pokaż wszystkie osoby zamieszkałe w miejscowości Sierpc (spis osób jest w pliku osoby.txt)

grep -E '\<(Sierpc)\>' osoby.txt

  1. Pokaż wszystkie osoby zamieszkałe w miejscowości Sierpc lub Lipno (spis osób jest w pliku osoby.txt).

grep -E '\<(Sierpc|Lipno)\>' osoby.txt

ZADANIA

  1. Pokaż wszystkie procesy wykonywane na serwerze iret przez użytkowników, których loginy zaczynają się na literę s lub t oraz zapisz je do pliku procesy1.txt.

  2. Pobierz posortowanych alfabetycznie rosnąco użytkowników (z poprzedniego podpunktu) i zapisz ich w pliku procesy1_sort.txt.

  3. Stosując polecenie grep dla pliku /etc/group

    1. Pokaż wszystkie wiersze, w których nazwy grup zaczynają się zaczynają się na literę s, a na drugiej nie występuje litera i, a trzecia litera to u

    2. Policz, ile jest wierszy, w których nie występuje słowo root.

    3. Pokaż wszystkie wiersze, w których nazwy grup zaczynają się zaczynają się na literę c, a na drugiej nie występuje litera r.

    4. Policz, ile jest wierszy, w których nie występuje słowo haldaemon.

  4. Stosując polecenie grep dla pliku /etc/passwd

    1. Pokaż wszystkie wiersze, w których zapisani są użytkownicy o imieniu Iwona lub Mateusz (bez względu na wielkość liter).

    2. Do podpunktu 1: Policz, ile jest takich użytkowników.

    3. Do podpunktu 1: Podaj numery wierszy, w których występują te osoby i zapisz je do pliku zadanie3.txt.

    4. Podaj polecenia, które wybierze osobę o loginie bilu i zapisze wiadomości o niej do pliku zadanie4.txt.

    5. Pokaż wszystkie wiersze, w których zapisani są użytkownicy o imieniu cezary (bez względu na wielkość liter).

    6. Do podpunktu 5: Policz, ile jest takich użytkowników.

    7. Do podpunktu 5: Podaj numery wierszy, w których występują te osoby i zapisz je do pliku cezar.txt.

    8. Podaj polecenie, które z użytkowników z podpunktu 5 wybierze tych, których login nie zaczyna się na literę c i zapisze ich do pliku katalog4.txt.

  5. Stosując polecenie grep dla pliku grep.txt

    1. Wyświetl wszystkie wiersze pliku zawierające literę 'a'.

    2. Wyświetl wszystkie wiersze pliku zawierające literę 'a' lub 'A'

    3. Wyszukaj wiersze zawierające 'ma'.

    4. Wyszukaj wiersze zawierające '?'

    5. Wyszukaj wszystkie wiersze w których znajdują się 'za', 'ma', 'ta'.

    6. Wyszukaj wszystkie wiersze, w których nie występuje litera 'a' lub 'A'.

    7. Ile wierszy zawiera słowo 'Ala'?

    8. W których wierszach (które numery wierszy) występują dowolne słowa na litery 'z' lub 'd'.

    9. Wyświetl wszystkie wiersze zaczynające się od spacji.

    10. Wyszukaj wiersze, które na końcu mają liczbę parzystą.

    11. Wyszukaj wiersze zwierające adresy mailowe z domeną .pl.

    12. Wyświetl te wiersze, które zawierają dowolne liczby.

  6. Ułożyć 10 zadań związanych z poleceniem grep i je poprawnie rozwiązać. Polecenia zadania i ich rozwiązania (tyko komendy) umieścić w pliku zadania_grep.txt.


©absta.pl 2016
wyślij wiadomość

    Strona główna