Home Dokumentacje Efektywne programowanie w AWK - Podręcznik użytkownika GNU awk - przypisy
22 | 08 | 2019
Efektywne programowanie w AWK - Podręcznik użytkownika GNU awk - przypisy Drukuj

Efektywne programowanie w AWK

Podręcznik użytkownika GNU awk

wydanie 1.0.6

lipiec 2000

Arnold D. Robbins

 

 


 

(1)

Polecenia te są dostępne w systemach zgodnych z POSIX, jak też na tradycyjnych systemach opartych o UNIX. Jeżeli posługujesz się jakimś innym systemem operacyjnym, powinieneś przynajmniej znać koncepcje przekierowania wejścia/wyjścia i potoków.

(2)

Często systemy te używają gawk do realizacji swego awk!

(3)

Mechanizm `#!' działa w systemach Linux, systemach Unix pochodzących od Berkeley Unix, System V Release 4, i niektórych systemach System V Release 3.

(4)

Wiersz rozpoczynający się od `#!' wyszczególnia pełną nazwę interpretera, jaki ma zostać uruchomiony, i opcjonalny argument początkowy wiersza poleceń, jaki ma zostać przesłany do interpretera. System operacyjny uruchamia wówczas interpreter z zadanym argumentem i pełną listą argumentów wykonywanego programu. Pierwszy argument listy jest pełną nazwą pliku programu awk. Reszta listy argumentów będzie albo opcjami awk, albo plikami danych, albo oboma.

(5)

W POSIX-owym awk, znaki nowej linii przy podziale na pola nie są uważane za białe znaki.

(6)

Narzędzie sed jest "edytorem strumieniowym". Jego zachowanie się jest również zdefiniowane standardem POSIX.

(7)

Wewnętrzna reprezentacja stosuje liczby zmiennoprzecinkowe o podwójnej precyzji. Nie przejmuj się jeżeli nie wiesz, co to znaczy.

(8)

David Goldberg, What Every Computer Scientist Should Know About Floating-point Arithmetic, ACM Computing Surveys 23, 1 (1991-03), 5-48.

(9)

W POSIX-owym awk, znak nowej linii nie jest uważany za biały znak.

(10)

Niektóre wczesne uniksowe implementacje awk inicjowały FILENAME na "-", nawet jeśli istniały pliki danych do przetworzenia. Zachowanie to było nieprawidłowe i nie powinno się na nim polegać w swoich programach.

(11)

Tworzone przez komputer liczby losowe nie są naprawdę losowe. Techniczne znane są jako "pseudo-losowe". Oznacza to, że mimo, iż liczby w sekwencji wyglądają na losowe, to w rzeczywistości można wciąż od nowa tworzyć tę samą sekwencję liczb losowych.

(12)

Ten skutek standardu był z pewnością niezamierzony.

(13)

Według stanu na lipiec 2000, z ostateczną akceptacją i publikacją jako części Austin Group Standards miejmy nadzieję gdzieś w 2001.

(14)

Program jest interaktywny jeśli jego standardowe wyjście jest przyłączone do urządzenia terminalowego.

(15)

Od czasu do czasu występują w roku minuty o przestępnej sekundzie, z tego powodu sekundy mogą dojść do 60.

(16)

Jest tak, gdyż ANSI C pozostawia niezdefiniowanym zachowanie się strftime wersji C, zaś gawk wykorzystuje systemową wersję strftime, jeśli jest obecna. Typowe jest albo niepojawienie się specyfikatora konwersji w zwracanym łańcuchu, albo pojawienie się dosłowne.

(17)

Jeśli tego nie rozumiesz, nie przejmuj się; zaplanowano je, by ułatwiały "umiędzynarodowienie" programów.

(18)

Nie zalecane.

(19)

Twoja własna wersja gawk może wykorzystywać inny katalog; zależy to od tego, jak gawk został utworzony i zainstalowany. Faktyczny katalog będzie wartością `$(datadir)' utworzoną podczas konfiguracji gawk. Niemniej jednak prawdopodobnie nie musisz się tym przejmować.

(20)

Niektóre implementacje awk nie powalają na wykonywanie next z wnętrza ciała funkcji. Jeżeli korzysta się z takiej wersji, konieczne jest inne obejście problemu.

(21)

W wielu krajach rozszerzono ASCII, tak by wykorzystywało wartości od 128 do 255 dla znaków specyficznych dla danego kraju. Jeżeli nasz system korzysta z takich rozszerzeń, można uprościć _ord_init, by wykonywało zwykłą pętlę od zera do 255.

(22)

lipiec 2000: W rzeczywistości myliłem się pisząc to. Przedstawiona tu wersja nie zawsze działa prawidłowo, a następna główna wersja gawk będzie zapewniać mktime jako funkcję wbudowaną.

(23)

Jest to początek Epoki w systemach POSIX-owych. Na innych systemach może być inny.

(24)

od tłum. armatura instalacji; ang.pipe, potok, znaczy dosłownie "przewód rurowy". "Tee" (ti:) to po prostu "litera Te", trójnik, T-kształtka.

(25)

Przeanalizuj kod w 15.9. Obsługa przejść między plikami. Dlaczego wc musi używać osobnej zmiennej lines, zamiast korzystania z wartości FNR w endfile?

(26)

Na starszych, nie POSIX-owych systemach, tr często nie wymaga ujmowania list w nawiasy kwadratowe i cudzysłowy. Jest to cecha produktu.

(27)

Ten program został napisany zanim gawk uzyskał możliwość podziału łańcucha na pojedyncze znaki umieszczane w osobnych elementach tablicy. Jak mógłbyś wykorzystać tę nową cechę do uproszczenia programu?

(28)

"Rzeczywisty" definiujemy jako "program faktycznie wykorzystywany do zrobienia czegoś".

(29)

W niektórych bardzo starych wersjach awk, test `getline smiec < t' może się zapętlić jeśli plik istnieje, ale jest pusty. Caveat Emptor [tłum.: przysł.łac. "Niech się strzeże kupujący"].

(30)

Ścieżka może korzystać z innego katalogu niż `/usr/local/share/awk', zależnie od sposobu utworzenia i instalacji gawk.

(31)

W POSIX-owym awk znaki nowej linii nie rozdzielają pól.

 


This document was generated on 3 July 2001 using the texi2html translator version 1.52-pl.

 
Linki sponsorowane

W celu realizacji usług i funkcji na witrynach internetowych ZUI "ELPRO" stosujemy pliki cookies. Korzystanie z witryny bez zmiany ustawień dotyczących plików cookies oznacza, że będą one zapisywane w urządzeniu wyświetlającym stronę internetową. Więcej szczegółów w Polityce plików cookies.

Akceptuję pliki cookies z tej witryny.