SYSTEMY OPERACYJNE
M E N U
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 LinkiLaboratorium_3
Ostatnia aktualizacja: 2005-03-09 09:02:06Zadania - polecenie grep.
Wyświetl linie i numery linii z pliku "/etc/passwd", które zawierają napis "Robert".
grep -n Robert /etc/passwd Tomasz Wojtowicz (+)
1.
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 (+)
2.
Wyświetl te linie z pliku "/etc/group", które nie zawierają słowa "root".
grep -v root /etc/group Paweł Brzeski (+)
3.
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 ? 4.
Wyprowadź te wiersze pliku "plik.txt", które zawierają napisy "Parametr = " lub "parametr = ".
grep -r -i '[Pp]arametr=' plik.txt Marzena Stepnowska (+)
5.
Wyświetl listę podkatalogów katalogu bieżącego używając grep-a.
grep -a -L . * Karolina Wójcik (+)
6.
Wyświetl te wiersze pliku "plik.txt", które kończą się kropką.
grep '.$' plik.txt Grzegorz Nowicki (+)
7.
Znajdź w plikach "pl*" wiersze rozpoczynające się od cyfry.
grep ^[0-9] pl*
Malgorzata Krzyzanowska (+)
8.
Podaj nazwy plików "pl*" i numery linii kończących się na "a" lub "A".
grep -i -n 'a$' pl* Wojciech Brzeziński (+)
9.
Wyszukaj w plikach podkatalogów linie zawierające "*".
grep -r "*" */* DAGMARA ZELLMA (+)
gdy interesują nas tylko nazwy plików: grep -l '*' */*
Karol Wenta (+)
10.
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 (+)
Znajdź pliki, w których na 9 pozycji występuje litera "r".
wersja 1 ls -1 | grep -E '^.{8}r.*' DAGMARA ZELLMA (+) wersja 2 ? 12.
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 ?
13.
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
14.
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 ?
15.
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 (+)
16.
Znajdź wiersze zawierające tylko białe znaki (tabulacje i spacje) w pliku "plik.txt".
grep -n -r '[:space:]' plik.txt Milena Netka (+)
17.
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 (+) 18.
Znajdź wiersze zawierające co najmniej jeden znak w pliku "plik.txt".
grep . {1,} plik.txt Paweł Brzeski (+)
19.
Znajdź wiersze zawierające liczby rzymskie w pliku "plik.txt". 20.
Znajdź wiersze zawierające liczby całkowite (ewentualnie poprzedzone znakiem) w pliku "plik.txt".
grep -w '[0-9]+' plik.txt Piotr Kisieliczyn (++)
21.
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ść
22.
Z programu w języku C, "plik.c", usuń wszystkie komentarze. 23.