Narzędzia użytkownika

Narzędzia witryny


so:redirects

Różnice

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

Odnośnik do tego porównania

Both sides previous revision Poprzednia wersja
Nowa wersja
Poprzednia wersja
so:redirects [2023/04/01 20:16]
jkonczak
so:redirects [2025/04/01 22:53] (aktualna)
jkonczak
Linia 13: Linia 13:
 ''​**paste** //plik_1// [//​plik_2//​]...''​ czyta po jednej linii z każdego z plików ''​**paste** //plik_1// [//​plik_2//​]...''​ czyta po jednej linii z każdego z plików
 i wypisuje je oddzielone tabem, powtarzając to do wyczerpania najdłuższego pliku. i wypisuje je oddzielone tabem, powtarzając to do wyczerpania najdłuższego pliku.
 +
 +<​small>​
 +''​**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>​
  
 ''​**fold** [-w //szer//] [//​plik//​]...''​ wyświetla podane pliki (lub standardowe ''​**fold** [-w //szer//] [//​plik//​]...''​ wyświetla podane pliki (lub standardowe
Linia 56: Linia 60:
 ==== Wyświetlanie tekstu ==== ==== Wyświetlanie tekstu ====
  
-''​**echo** //​tekst//''​ wypisuje //tekst// i znak nowej linii (to ostatnie można wyłączyć podają''​-n''​). \\ +''​**echo** //​tekst//''​ wypisuje //tekst// i znak nowej linii. \\ 
-Przełącznik ''​-e''​ powoduje zamianę sekwencji takich jak ''​\t''​ czy ''​\n''​ na odpowiadające im znaki (tutaj: tab i nowa linia).+Większość implementacji ''​echo''​ implementuje przełącznik ''​-n'' ​który pomija 
 +dodawnie 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).
Linia 69: Linia 78:
 ++++ Przykłady | {{page>​so:​redirects:​echo&​inline}} ++++ ++++ Przykłady | {{page>​so:​redirects:​echo&​inline}} ++++
  
-~~Zadanie.#​~~ Sprawdź działanie ''​echo -e '​foo\n\nbaz'​ ''​ \\ oraz ''​echo -e '\n\n one \033[A \033[A two \033[B \033[B \n \033[1;31m red \033[0m'​ ''​ \\ <​small>​[[https://​en.wikipedia.org/​wiki/​ANSI_escape_code|Sekwencje sterujące ANSI]] są dobrze opisane [[https://​gist.github.com/​fnky/​458719343aabd01cfb17a3a4f7296797|tutaj]]</​small>​+~~Zadanie.#​~~ Sprawdź działanie ''​echo -e '​foo\n\nbaz'​ ''​ \\ oraz ''​echo -e '\n\n one \033[A \033[A two \033[B \033[B \n \033[1;31m red \033[0m'​ ''​ \\ <​small>​[[https://​en.wikipedia.org/​wiki/​ANSI_escape_code|Sekwencje sterujące ANSI]] są dobrze opisane [[https://​gist.github.com/​fnky/​458719343aabd01cfb17a3a4f7296797|tutaj]] ​oraz w podręczniku systemowym na stronie ''​[[https://​man7.org/​linux/​man-pages/​man4/​console_codes.4.html|console_codes]]''​.</​small>​
  
 ~~Zadanie.#​~~ Sprawdź działanie ''​printf "​|%4.2f|%3s|%-16s|\n|%4.2f|%3s|%-16s|\n"​ 3.1428 pi obwod/​srednica 9.8 g grawitacja''​ ~~Zadanie.#​~~ Sprawdź działanie ''​printf "​|%4.2f|%3s|%-16s|\n|%4.2f|%3s|%-16s|\n"​ 3.1428 pi obwod/​srednica 9.8 g grawitacja''​
Linia 235: Linia 244:
 | ''>>''​ | otwiera plik //słowo// do dopisywania i zastępuje //​deskryptor_pliku//​ nowo otwartym | | ''>>''​ | otwiera plik //słowo// do dopisywania i zastępuje //​deskryptor_pliku//​ nowo otwartym |
 | ''<>''​ | otwiera plik //słowo// do odczytu i zapisu, oraz zastępuje //​deskryptor_pliku//​ nowo otwartym | | ''<>''​ | otwiera plik //słowo// do odczytu i zapisu, oraz zastępuje //​deskryptor_pliku//​ nowo otwartym |
-| ''<<''​ | 1) tworzy tymczasowy plik \\ 2) czyta linię ze standardowego wejścia\\ 3) jeśli cała linia to dokładnie //słowo//, idź do \\ 4) jeśli ​//słowie// nie ma cudzysłowów (pary ''"''​ lub <​html><​code>'</​code></​html>​),​ wykonuje podstawienia((Np. pod ''​$VAR''​ podstawia wartość zmiennej ''​VAR'',​ ''​`date`''​ jest zastąpione wynikiem komendy ''​date''​ etc.)) w linii \\ 5) pisze linię do pliku tymczasowego \\ 6) otwiera plik tymczasowy do odczytu \\ 7) zastępuje //​deskryptor_pliku//​ nowo otwartym \\ 8) uruchamia komendę |+| ''<<''​ | 1) tworzy tymczasowy plik \\ 2) czyta linię ze standardowego wejścia\\ 3) jeśli cała linia to dokładnie //słowo//, idź do \\ 4) jeśli //słowo// nie było ujęte w cudzysłowy (pary ''"''​ lub <​html><​code>'</​code></​html>​),​ wykonuje podstawienia((Np. pod ''​$VAR''​ podstawia wartość zmiennej ''​VAR'',​ ''​`date`''​ jest zastąpione wynikiem komendy ''​date''​ etc.)) w linii \\ 5) pisze linię do pliku tymczasowego \\ 6) wraca do 2 \\ 7) otwiera plik tymczasowy do odczytu \\ 8) zastępuje //​deskryptor_pliku//​ nowo otwartym \\ 9) uruchamia komendę |
 | ''<<​-''​| działa jak ''<<'',​ ale po kroku 2 dodaje jeszcze krok: \\ 2a) usuwa wszystkie początkowe tabulatory (''​\t''​) \\ uwaga: spacje nie są usuwane| | ''<<​-''​| działa jak ''<<'',​ ale po kroku 2 dodaje jeszcze krok: \\ 2a) usuwa wszystkie początkowe tabulatory (''​\t''​) \\ uwaga: spacje nie są usuwane|
 | ''<<<''​| Uwaga: to jest rozszerzenie powłoki Bash \\ 1) tworzy tymczasowy plik \\ 2) pisze //słowo// do pliku tymczasowego \\ 3) pisze znak nowego wiersza do pliku tymczasowego \\ 4) otwiera plik tymczasowy do odczytu ​ \\ 5) zastępuje //​deskryptor_pliku//​ nowo otwartym \\ 6) uruchamia komendę | | ''<<<''​| Uwaga: to jest rozszerzenie powłoki Bash \\ 1) tworzy tymczasowy plik \\ 2) pisze //słowo// do pliku tymczasowego \\ 3) pisze znak nowego wiersza do pliku tymczasowego \\ 4) otwiera plik tymczasowy do odczytu ​ \\ 5) zastępuje //​deskryptor_pliku//​ nowo otwartym \\ 6) uruchamia komendę |
Linia 255: Linia 264:
 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>​
  
so/redirects.1680373008.txt.gz · ostatnio zmienione: 2023/04/01 20:16 (edycja zewnętrzna)