W celu wyszukania interesujących nas plików w systemie korzystamy ze standardowego polecenia find.
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 za pomocą ścieżki. Najczęściej wykorzystywane warunki to:
-name "wzorzec" – nazwa pliku,
-type typ – typ pliku (f plik, d katalog, l dowiązanie symboliczne, itp.),
-print - wyświetla znalezione nazwy plików z pełnymi ścieżkami dostępu,
-exec polecenie {} \; - dla każdego znalezionego pliku wykonuje podane polecenie,
-perm nnn – znajduje pliki o podanych prawach dostępu,
Warunki można ze sobą łączyć budując w ten sposób dosyć szczegółowe zapytania.
Przykłady:
Wyświetlanie wszystkich podkatalogów z katalogu /usr,
find /usr -type d -print
Wyświetlanie listy plików ukrytych znajdujących się w katalogu domowym użytkownika
find ~ -type f -name ".*" -print
Wyświetlanie listy stron WWW z katalogu /var/www/html zawierających w treści tekst UNIX
find
/var/www/html -type f -name "*." -exec grep “UNIX” {} \; -print
Do wyszukania linii pasujących do wzorca w danym pliku tekstowym (lub całej liście) służy polecenie grep.
grep [opcje] wzorzec [pliki]
Dostępne 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 wielkich liter,
-n wyświetla linię i jej numer w pliku,
-v dopasowanie odwrotne, wyświetla te linie, które nie pasują do wzorca,
Przykłady
Wyświetlanie linii z pliku HTML zawierającej znacznik <title>, a więc określającą nazwę strony
grep -i
“<title>” strona_www.html
Wyświetlanie pierwszej linii z pliku zawierającą tekst “hello”
grep -i
hello plik.txt | head -1
Przeszukiwanie pliku miasta.txt w poszukiwaniu miast, których nazwy zaczynają się od “War”, wynik przekazywany jest do polecenia “wc”, które zwraca liczbę linii, a więc liczbę takich miast
grep “^War”
miasta.txt | wc -l
Alternatywny sposób na wyświetlenie listy plików z katalogu domowego użytkownika, których nazwy kończą się na html
ls ~ | grep “html$”
Polecenia dodatkowe.
Zliczanie wierszy, słów, znaków występujących w pliku odbywa się przy pomocy polecenia wc.
wc [opcje] [plik]
Opcje:
-l wyświetla tylko liczbę linii,
-w wyświetla tylko liczbę wyrazów,
-m wyświetla liczbę znaków,
Linie w pliku można sortować przy użyciu polecenia sort.
sort [opcje] [plik]
Opcje
-n sortuje wg wartości numerycznej,
-u wyświetla tylko raz powtarzające się wiersze,
-r odwraca porządek sortowania
Ćwiczenia
Wykorzystując plik miasta.txt wykonać następujące ćwiczenia:
· Napisać polecenie, które wyświetli wszystkie miasta, których w nazwie występuje tekst “dom”
· Wyświetlić na ekran wszystkie miasta, których nazwa jest dwu (lub więcej) członowa.
· Powyższą listę posortować wg nazwy i wyświetlić na ekran tylko ostatnie 5 pozycji.
· Policz znaki występujące w nazwie dowolnego pliku lub katalogu.
· Ile miast zawiera na początku litery “W”, a na końcu “w” lub “a”. A ile miast nie spełnia tego warunku?
· Wyszukaj wszystkie miasta, których nazwa zaczyna się na: War, Wro lub Wie.
· Wyszukaj w katalogu /home/ee/stud wszystkie katalogi, których nazwa zaczyna się na “kow”.
· Wyszukaj w katalogu /etc wszystkie pliki, których nazwa zaczyna się na “host”.
· Wyszukaj w katalogu /home/ee/stud wszystkie katalogi, do których wszyscy użytkownicy systemu mają pełne prawa.
Strona poprzednia Strona następna