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.