Różnice między wybraną wersją a wersją aktualną.
| Both sides previous revision Poprzednia wersja Nowa wersja | Poprzednia wersja | ||
|
so:redirects [2025/03/03 17:11] jkonczak |
so:redirects [2026/03/31 00:04] (aktualna) jkonczak |
||
|---|---|---|---|
| Linia 15: | Linia 15: | ||
| <small> | <small> | ||
| - | ''**join** [-t //separator//] [-1 //pole//] [-2 //pole//] //plik_1// //plik_2//'' | + | ''**join** [-t //separator//] [-1 //filed_1//] [-2 //filed_2//] //infile_1// //infile_2//'' łączy te wiersze z pliku //infile_1// z wierszami pliku //infile_2//, które na polu //filed_1// w pliku //infile_1// mają tę samą wartość co na polu //field_2// w pliku //infile_2// (pola w wierszu są oddzielane //separator//em). Oba pliki muszą być posortowane względem pola które jest używane jako klucz połączenia. |
| </small> | </small> | ||
| Linia 36: | Linia 36: | ||
| ''**od** [-t x1] …'', ''**hexdump** [-C] …'', i ''**xxd** …'' pokazują pliki binarnie. | ''**od** [-t x1] …'', ''**hexdump** [-C] …'', i ''**xxd** …'' pokazują pliki binarnie. | ||
| + | <small>(''od'' jest w standardzie POSIX, ''hexdump'' to narzędzie Linuksa, | ||
| + | ''xxd'' zwykle jest dystrybuowane z edytorem ''vim''.)</small> | ||
| ++++ Przykłady | {{page>so:redirects:cat&inline}} ++++ | ++++ Przykłady | {{page>so:redirects:cat&inline}} ++++ | ||
| Linia 60: | Linia 62: | ||
| ==== Wyświetlanie tekstu ==== | ==== Wyświetlanie tekstu ==== | ||
| - | ''**echo** //tekst//'' wypisuje //tekst// i znak nowej linii (to ostatnie można wyłączyć podając ''-n''). \\ | + | ''**echo** //tekst//'' wypisuje //tekst// i znak nowej linii. <small> ''echo'' jest |
| - | Przełącznik ''-e'' powoduje zamianę sekwencji takich jak ''\t'' czy ''\n'' na odpowiadające im znaki (tutaj: tab i nowa linia). | + | częścią standardu POSIX i jest też obecne w wielu nieuniksowych systemach. </small> |
| + | \\ | ||
| + | Większość implementacji ''echo'' implementuje przełącznik ''-n'' który pomija | ||
| + | dodawanie znaku nowej linii.\\ | ||
| + | Część implementacji zna też przełącznik ''-e'', który powoduje zamianę sekwencji | ||
| + | takich jak ''\t'' czy ''\n'' na odpowiadające im znaki (tutaj: tab i nowa linia). | ||
| + | Część implementacji zawsze zmienia sekwencje sterujące na odpowiadające im znaki | ||
| + | (i zgłasza błąd jeśli napotka przełącznik ''-e''). | ||
| ''**printf** //format// [//argument//]...'' działa jak funkcja ''printf'' z języka C (z pewnymi dodatkami). | ''**printf** //format// [//argument//]...'' działa jak funkcja ''printf'' z języka C (z pewnymi dodatkami). | ||
| <small> | <small> | ||
| + | W trakcie zajęć/w materiałach mogą pojawić się też programy: | ||
| + | \\ | ||
| ''**figlet** [//tekst//]'' wypisuje //tekst// (lub standardowe wejście) rysowane ascii-art'ową czcionką. | ''**figlet** [//tekst//]'' wypisuje //tekst// (lub standardowe wejście) rysowane ascii-art'ową czcionką. | ||
| + | \\ | ||
| ''**cowsay** [//tekst//]'' wyświetla krowę mówiącą //tekst// (lub standardowe wejście). | ''**cowsay** [//tekst//]'' wyświetla krowę mówiącą //tekst// (lub standardowe wejście). | ||
| </small> | </small> | ||
| Linia 141: | Linia 152: | ||
| ===== Przekierowania ===== | ===== Przekierowania ===== | ||
| - | Zgodne z POSIX-em powłoki potrafią zastąpić standardowe strumienie wskazanymi | + | Zgodne z POSIX-em powłoki potrafią zastąpić standardowe strumienie plikami wskazanymi |
| przez użytkownika. | przez użytkownika. | ||
| Linia 194: | Linia 205: | ||
| ''komenda << ogranicznik'' (here document) | ''komenda << ogranicznik'' (here document) | ||
| - | - przed uruchomieniem //komenda//, powłoka tworzy tymczasowy plik, | + | - przed uruchomieniem //komenda//, tworzy tymczasowy plik, |
| - | - powłoka czyta dane ze swojego standardowego wejścia linia po linii i wpisuje te linie do tymczasowego pliku, | + | - czyta dane ze swojego standardowego wejścia linia po linii i wpisuje te linie do tymczasowego pliku, \\ do momentu aż linia będzie składać się tylko z //ogranicznik//a, |
| - | - do momentu aż linia będzie składać się tylko z //ogranicznik//a, | + | |
| - otwiera tymczasowy plik do odczytu, | - otwiera tymczasowy plik do odczytu, | ||
| - zastępuje standardowe wejście plikiem. | - zastępuje standardowe wejście plikiem. | ||
| Linia 219: | Linia 229: | ||
| ==== Szczegóły ==== | ==== Szczegóły ==== | ||
| - | [[https://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_07|Rozdział o przekierowaniach w standardzie POSIX]] \\ | + | [[https://pubs.opengroup.org/onlinepubs/9799919799/utilities/V3_chap02.html#tag_19_07|Rozdział o przekierowaniach w standardzie POSIX]] \\ |
| [[https://www.gnu.org/software/bash/manual/html_node/Redirections.html|Dokumentacja Basha o przekierowaniach]] | [[https://www.gnu.org/software/bash/manual/html_node/Redirections.html|Dokumentacja Basha o przekierowaniach]] | ||
| Linia 259: | Linia 269: | ||
| i zduplikuj standardowe wejście do standardowego wyjścia. Sprawdź co się stało. | i zduplikuj standardowe wejście do standardowego wyjścia. Sprawdź co się stało. | ||
| \\ | \\ | ||
| - | Uwaga: nie używaj ''<>'' dwukrotnie z z tym samym plikiem dla standardowego wejścia | + | Uwaga: nie używaj dwukrotnie ''<>'' z tym samym plikiem dla standardowego wejścia |
| - | i standardowego błędu (chyba że jesteś gotowy ponieść konsekwencje swojego czynu). | + | i standardowego wyjścia (chyba że jesteś gotowy ponieść konsekwencje swojego czynu). |
| </small> | </small> | ||