Narzędzia użytkownika

Narzędzia witryny


so:pipes_filters

Różnice

Różnice między wybraną wersją a wersją aktualną.

Odnośnik do tego porównania

Both sides previous revision Poprzednia wersja
so:pipes_filters [2025/04/16 11:58]
jkonczak [Edycja linii poleceń]
so:pipes_filters [2026/04/20 22:41] (aktualna)
jkonczak
Linia 104: Linia 104:
 że każdy program ma [[https://​en.wikipedia.org/​wiki/​Unix_philosophy|solidnie wykonywać jedno dobrze określone zadanie]]. że każdy program ma [[https://​en.wikipedia.org/​wiki/​Unix_philosophy|solidnie wykonywać jedno dobrze określone zadanie]].
 \\ \\
-Żeby zrobić skomplikowane zadania, należy podzielić je na mniejsze rozwiązywalne+Żeby zrobić skomplikowane zadania, należy podzielić je na mniejszerozwiązywalne
 przez takie proste programy. przez takie proste programy.
  
Linia 161: Linia 161:
 Dodaj na koniec poprzedniej komendy przekazanie jej wyniku do ''​cat -n''​. Dodaj na koniec poprzedniej komendy przekazanie jej wyniku do ''​cat -n''​.
  
-~~Zadanie.#​~~ Połącz w potok komendy ''​ps -eF''​ i ''​fold''​+~~Zadanie.#​~~ Połącz w potok komendy ''​ps -ef''​ i ''​fold''​
  
 ~~Zadanie.#​~~ Stwórz nazwany potok //p//. Przekieruj wejście programu ''​fold''​ ~~Zadanie.#​~~ Stwórz nazwany potok //p//. Przekieruj wejście programu ''​fold''​
Linia 216: Linia 216:
 <​small>​ <​small>​
 ''​grep''​ pozwala na wybór jednej z kilku gramatyk wyrażeń regularnych. ​ ''​grep''​ pozwala na wybór jednej z kilku gramatyk wyrażeń regularnych. ​
-POSIX [[https://​pubs.opengroup.org/​onlinepubs/​9699919799/​basedefs/​V1_chap09.html|określa]]+POSIX [[https://​pubs.opengroup.org/​onlinepubs/​9799919799/​basedefs/​V1_chap09.html|określa]]
 dwie: //basic// (domyślną) i //​extended//​ (używaną przez ''​egrep''​ i ''​grep -E''​). dwie: //basic// (domyślną) i //​extended//​ (używaną przez ''​egrep''​ i ''​grep -E''​).
-Szczegółów szukaj ​dokumentacja twojej implementacji ​komendy ''​grep''​.+\\ 
 +Podsumowanie tych gramatyk znajdziesz też Linuksie pod 
 +''​[[https://​man7.org/​linux/​man-pages/​man7/​regex.7.html|man 7 regex]]''​ oraz na 
 +[[https://​en.wikipedia.org/​wiki/​Regular_expression#​IEEE_POSIX_Standard|wikipedii]]. 
 +\\ 
 +Informację o innych gramatykach wspieranych przez twoją implementację ​komendy 
 +''​grep'' ​znajdziesz w dokumentacji konkretnej implementacji
  
 Domyślnie wyrażenia rozróżniają wielkość liter. Aby to zmienić, dodaj opcję ''​-i''​. Domyślnie wyrażenia rozróżniają wielkość liter. Aby to zmienić, dodaj opcję ''​-i''​.
Linia 400: Linia 406:
 Np. ''​tr -s 123 npn <<<​ 123_132_13n_ppp''​ wypisze ''​npn_np_n_p''​. Np. ''​tr -s 123 npn <<<​ 123_132_13n_ppp''​ wypisze ''​npn_np_n_p''​.
  
-Przełącznik ''​-c''​ powoduje zamianę znaków których nie ma w liście. ​+Przełącznik ''​-c''​ powoduje zamianę/​usunięcie ​znaków których nie ma w liście
 +Np. ''​tr -c a-z _''​ zamieni wszystko co nie jest małą literą na podkreślnik.
  
 Listy mogą zawierać zakresy znaków (np. ''​[0-9]'',​ ''​[a-f]''​) i [[https://​pubs.opengroup.org/​onlinepubs/​9799919799/​basedefs/​V1_chap07.html#​tag_07_03_01|klasy znaków]] (np. ''​[:​alnum:​]'',​ ''​[:​space:​]''​). Listy mogą zawierać zakresy znaków (np. ''​[0-9]'',​ ''​[a-f]''​) i [[https://​pubs.opengroup.org/​onlinepubs/​9799919799/​basedefs/​V1_chap07.html#​tag_07_03_01|klasy znaków]] (np. ''​[:​alnum:​]'',​ ''​[:​space:​]''​).
Linia 421: Linia 428:
 i domyślnie wypisuje ją po jego wykonaniu. i domyślnie wypisuje ją po jego wykonaniu.
 Najprostsza komenda wykonująca znajdź/​zastąp to ''​sed '​s/​regexp/​replacement/'<​nowiki></​nowiki>''​. Najprostsza komenda wykonująca znajdź/​zastąp to ''​sed '​s/​regexp/​replacement/'<​nowiki></​nowiki>''​.
-''​sed''​ jest kompletne w sensie Turinga. Jeśli starczy czasu w semestrze, ''​sed''​ będzie omawiany później.+''​sed''​ jest kompletne w sensie Turinga.
  
 ==== awk ==== ==== awk ====
Linia 428: Linia 435:
 tekstu, również przetwarzającym tekst linia po linii na podstawie podanego skryptu. tekstu, również przetwarzającym tekst linia po linii na podstawie podanego skryptu.
 W ''​awk''​ skrypt składa się z reguł – par ''​warunek {instrukcje}'',​ gdzie warunek W ''​awk''​ skrypt składa się z reguł – par ''​warunek {instrukcje}'',​ gdzie warunek
-określa dopasowanie do linii (bądź początku/​końca przetwarzania/​pliku). \\ +określa dopasowanie do linii (bądź początku/​końca przetwarzania/​pliku).
-''​awk''​ nie jest omawiany na zajęciach z SOp; jest omawiany w ramach obieralnego +
-przedmiotu Języki formalne i kompilatory.+
  
 </​small>​ </​small>​
Linia 474: Linia 479:
 Po uruchomieniu ''​less''​ można wyświetlić pomoc naciskając ''​h''​. Wybór przydatnych skrótów: Po uruchomieniu ''​less''​ można wyświetlić pomoc naciskając ''​h''​. Wybór przydatnych skrótów:
   * //spacja// lub //PgDown// / //PgUp// – idź do następnej / poprzedniej strony   * //spacja// lub //PgDown// / //PgUp// – idź do następnej / poprzedniej strony
-  * liczba – skacze do linii tym numerze+  * liczba – przesuwa ​podaną ilość linii
   * liczba zakończona //%// – skacze do tej części dokumentu   * liczba zakończona //%// – skacze do tej części dokumentu
-  * //g// / //G// – skacze na początek / koniec dokumentu+  * //g// / //G// – skacze na początek / koniec dokumentu ​\\ <​small>​liczba zakończona //g// / //G// – skacze do podanej linii dokumentu</​small>​
   * // /wzorzec // / //?​wzorzec// ​ — wyszukuje //wzorca// do przodu / do tyłu \\ //n// / //N// – powtarza wyszukiwane w tym samym / odwrotnym kierunku   * // /wzorzec // / //?​wzorzec// ​ — wyszukuje //wzorca// do przodu / do tyłu \\ //n// / //N// – powtarza wyszukiwane w tym samym / odwrotnym kierunku
   * //s// – zapisuje dane do pliku (przydatne jeśli less czyta z potoku)   * //s// – zapisuje dane do pliku (przydatne jeśli less czyta z potoku)
so/pipes_filters.txt · ostatnio zmienione: 2026/04/20 22:41 przez jkonczak