Wyszukiwanie plików i katalogów

W celu wyszukania interesujących nas plików w systemie korzystamy z polecenia find.
Ogólna postać polecenia jest następująca:
find ścieżka warunki
Zadanie wyszukania określonych za pomocą warunków plików sprowadza się do przejrzenia całego drzewa plików określonego przez ścieżkę. Najczęściej wykorzystywane warunki to:
-name wzorzec - nazwa pliku
-typ typ - typ pliku: f-plik, d-katalog, l>-dowiązanie
-print - wyświetla znalezione nazwy plików z pełnymi ścieżkami dostępu
-perm NNN - znajduje pliki o podanych prawzch dostępu
-exec polecenie ()\; - dla każdego znalezionego pliku wykonuje polecenie
Warunki można ze sobą łączyć, budując w ten sposób dość szczegółowe zapytania.

Przykłady:
find /usr -type d -print
Wyświetlenie wszystkich podkatalogów z katalogu /usr
find ~ -type f -name .* -print
Wyświetlenie listy plików ukrytych znajdujących się w katalogu domowym użytkownika
find /var/www/html -type f -name .* -exec grep "UNIX" {}\; -print
Wyświetlenie listy stron WWW z katalogu /var/www/html zawierających w treści tekst UNIX.

Do wyszukiwania linii pasujących do wzorca w danym pliku tekstowymsłuży polecenie grep
Ogólna postać polecenia jest następująca:
grep [opcje] wzorzec pliki
Podstawowe opcje:
-N - drukuje N linii nad i pod wyszukanym tekstem z pliku
-f plik - pobiera listę wzorców z podanego pliku
-i - nie rozróżnia małych i dużych liter
-n - wyświetla linię i jej numer w pliku
-v - dopasowanie odwrotne, wyświetla te linie, które nie pasują do wzorca
Przy budowaniu wzorca można skorzystać ze zanczników:
^ - oznacza początek linii
$ - oznacza koniec linii

Przykłady:
grep -i "<title>" index.html
Wyświetlenie linii z pliku index.html zawierającej znacznik <title>
grep -i hello plik.txt | head -1
Wyświetlenie pierwszej linii z pliku plik.txt która zawiera tekst hello
grep "^War" miasta.txt | wc -l
Przeszukanie pliku miasta.txtw poszukiwaniu miast, których nazwy zaczynają się od War. Wynik przekazywany jest do poleceniawc,które zwraca liczbę linii, a więc liczbę miast.
ls ~ | grep "html$"
Alternatywny sposób na wyświetlenie listy plików z katalogu domowego, których nazwa kończy się na html.
grep ^$ plik.txt | wx -l
Wyznaczenie liczby pustych linii w pliku plik.txt

Ćwiczenia:

Wykorzystując plik miasta.txt wykonać następujące ćwiczenia:

Valid XHTML 1.0 Transitional Valid CSS!