Robert Fidytek

Transkrypt

Robert Fidytek
SYSTEMY OPERACYJNE
Laboratorium_3
MENU
Ogłoszenia
Plan_laboratoriów
Laboratorium_1
Laboratorium_2
Laboratorium_3
Laboratorium_4
Laboratorium_5
Laboratorium_6
Kol_1_fin_03_04
Kol_1_imn_03_04
Kol_konkurs1
Giełda_zadań
Laboratorium_8
Laboratorium_9
Laboratorium_10
Linki
Ostatnia aktualizacja: 2005-03-09 09:02:06
Zadania - polecenie grep.
1. Wyświetl linie i numery linii z pliku "/etc/passwd", które zawierają napis "Robert".
grep -n Robert /etc/passwd
Tomasz Wojtowicz (+)
2. Policz, ilu użytkowników systemu używa powłoki "bash" (zgodnie z zapisami w pliku "/etc/passwd").
grep -c bash /etc/passwd
karolina wojcik (+)
3. Wyświetl te linie z pliku "/etc/group", które nie zawierają słowa "root".
grep -v root /etc/group
Paweł Brzeski (+)
4. Wyświetl te linie z pliku "/etc/passwd", które dotyczą Twojego konta. Dane w pliku oddzielone są
dwukropkami, ale na ekranie należy je zastąpić znakiem "#".
wersja 1
grep ~ /etc/passwd | tr ':' '#'
Karol Wenta (+)
wersja 2
?
5. Wyprowadź te wiersze pliku "plik.txt", które zawierają napisy "Parametr = " lub "parametr = ".
grep -r -i '[Pp]arametr=' plik.txt
Marzena Stepnowska (+)
6. Wyświetl listę podkatalogów katalogu bieżącego używając grep-a.
grep -a -L . *
Karolina Wójcik (+)
7. Wyświetl te wiersze pliku "plik.txt", które kończą się kropką.
grep '.$' plik.txt
Grzegorz Nowicki (+)
8. Znajdź w plikach "pl*" wiersze rozpoczynające się od cyfry.
grep ^[0-9] pl*
Malgorzata Krzyzanowska (+)
9. Podaj nazwy plików "pl*" i numery linii kończących się na "a" lub "A".
grep -i -n 'a$' pl*
Wojciech Brzeziński (+)
10. Wyszukaj w plikach podkatalogów linie zawierające "*".
grep -r "*" */*
DAGMARA ZELLMA (+)
gdy interesują nas tylko nazwy plików:
grep -l '*' */*
Karol Wenta (+)
11. Wyświetl nazwy plików nie zawierających wyrazów "netscape" i "bash".
wersja 1
grep -v 'netscape' * | grep -v -l 'bash' *
Sylwester Banaś (+)
wersja2
grep -vrl 'bash'+'netscape' /
Piotr Jarosz (+)
12. Znajdź pliki, w których na 9 pozycji występuje litera "r".
wersja 1
ls -1 | grep -E '^.{8}r.*'
DAGMARA ZELLMA (+)
wersja 2
?
13. Znajdź pliki zaczynające się literami "pl", w których występuje co najmniej jedna linia zawierająca
ciąg znaków "aaa", a następnie usuń te pliki.
wersja 1
find ~/ -name pl* | grep -e aaa > lk ; rm -f < lk
email: Łukasz Komar (+)
wersja 2
?
14. Na podstawie pliku "/etc/passwd" wypisz nazwy tych użytkowników, którzy mają puste hasło lub
zablikowane konto. (Blokada konta realizowana jest przez wpisanie w miejscu hasła znaku "*".)
grep '^.*:[*:]' /etc/passwd
Malgorzata Krzyzanowska (?+) - jest błąd
15. Podaj polecenie pozwalające przeszukać katalog główny i jego podkatalogi, wypisać nazwy
wszystkich plików starszych niż 2 tygodnie, a dodatkowo spośród tak wybranych plików dla plików o
rozszerzeniu ".txt" lub ".text", wyświetlić ich zawartość. Strumień błędów usunąć.
wersja 1
find '(' -name *.txt -or -name *.text ')' -mtime +14
-exec cat '{}' ';' 2>/dev/null
LUKASZ KOMAR (+)
wersja 2
?
16. W pliku "plik.txt" wyszukaj linie, które mają identyczne wartości w polach 1 i 3 oraz 2 i 4. (Niech
separatorem pól będzie znak ":" .)
cat nazwapliku | grep "(.*):(.*):1:2"
uwagi: przed znakami "(" oraz ")" powinien być baskslash
Dagmara Zellma (+)
17. Znajdź wiersze zawierające tylko białe znaki (tabulacje i spacje) w pliku "plik.txt".
grep -n -r '[:space:]' plik.txt
Milena Netka (+)
18. Znajdź puste wiersze w pliku "plik.txt".
wersja 1
jeśli przyjmiemy, że pusty wiersz to taki, który nie zawiera znaków
alfanumerycznych, to wtedy rozwiązanie może być postaci:
grep -v [:alnum:] plik.txt
Malgorzata Krzyzanowska (+)
wersja 2
grep ^$ plik.txt
grep -n ^$ plik.txt
Justna Benkowska (+)
19. Znajdź wiersze zawierające co najmniej jeden znak w pliku "plik.txt".
grep . {1,} plik.txt
Paweł Brzeski (+)
20. Znajdź wiersze zawierające liczby rzymskie w pliku "plik.txt".
21. Znajdź wiersze zawierające liczby całkowite (ewentualnie poprzedzone znakiem) w pliku "plik.txt".
grep -w '[0-9]+' plik.txt
Piotr Kisieliczyn (++)
22. Z pliku "plik.htm" usuń wszystkie komentarze.
wersja 1 i 2
cat plik | sed -e 's///' > plik2
cat plik | grep -v -E ''
nie wycinają komentarzy wielolinijkowych
Dagmara Zellma (+) za wytrwałość
23. Z programu w języku C, "plik.c", usuń wszystkie komentarze.
Copyright © by Robert Fidytek.