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

Przejdź do pierwszej, poprzedniej, następnej, ostatniej sekcji, spisu treści.

 


 

D. Słownik

Akcja (action)
Ciąg instrukcji awk związanych z regułą. Jeżeli rekord wejściowy pasuje do wzorca reguły, awk wykonuje akcję tej reguły. Akcje są zawsze objęte nawiasami klamrowymi. Zob. 8.2. Przegląd akcji.
Amazingly Workable Formatter (awf, O dziwo zdatny formater)
Henry Spencer z Uniwersytetu w Toronto napisał formater akceptujący duży podzbiór poleceń formatujących `nroff -ms' i `nroff -man', używając awk i sh.
ANSI
American National Standards Institute. Organizacja tworząca wiele standardów, między innymi standardy języków programowania C i C++.
Bash
Wersja GNU standardowej powłoki (Bourne-Again shell). Zobacz "Bourne Shell".
BBS
Zobacz "Bulletin Board System".
Biały znak (whitespace)
Sekwencja znaków spacji, tabulacji lub nowej linii występująca wewnątrz rekordu wejściowego lub łańcucha.
Bourne Shell
Standardowa powłoka (`/bin/sh') w Uniksie i systemach uniksopodobnych, pierwotnie napisana przez Stevena R. Bourne'a. Wiele powłok (Bash, ksh, pdksh, zsh) jest zasadniczo zgodnych w górę z powłoką Bourne'a.
Bulletin Board System
System komputerowy umożliwiający użytkownikom logowanie się i czytanie i/lub zostawianie wiadomości dla innych użytkowników tego systemu, przypominający pozostawianie papierowych notek na tablicy ogłoszeniowej.
C
Język programowania systemowego, w którym napisana jest większość oprogramowania GNU. Język programowania awk ma składnię podobną do C, a w niniejszej książce wskazano, w odpowiednich miejscach, na występujące podobieństwa między awk i C.
Całkowita (integer)
Liczba całkowita, tj. liczba nie posiadająca części ułamkowej.
CHEM
Preprocesor współpracujący z pic, który czyta opisy cząsteczek i tworzy wejście pic do ich narysowania. Został napisany w awk przez Briana Kernighana i Jona Bentleya, i jest dostępny z Adres poczty elektronicznej jest chroniony przed robotami spamującymi. W przeglądarce musi być włączona obsługa JavaScript, żeby go zobaczyć. .
Ciemny kąt (dark corner)
Obszar języka, w którym specyfikacje często były (lub nadal są) niejasne, prowadząc do nieoczekiwanych czy niepożądanych zachowań. Obszary takie oznaczono w tej książce przez "(c.k.)" w tekście, a pod nagłówkiem "ciemny kąt" w indeksie.
Dynamiczne wyrażenie regularne (dynamic regular expression)
Dynamiczne wyrażenie regularne jest wyrażeniem regularnym zapisanym jak zwykłe wyrażenie. Może być stałą łańcuchową, jak "foo", ale może być też wyrażeniem, którego wartość może się zmieniać. Zob. 4.7. Stosowanie dynamicznych wyrażeń regularnych.
Edytor strumieniowy (stream editor)
Program, który odczytuje rekordy ze standardowego strumienia wejściowego i przetwarza je raz lub więcej razy w jednym przebiegu. Różni się to od przypadku programów wsadowych, które zakładają odczytywanie plików wejściowych w całości przed rozpoczęciem jakiejkolwiek pracy nad nimi. Jest też inne niż w przypadku programów interaktywnych, które wymagają podania danych wejściowych przez użytkownika.
Format
Łańcuchy formatu używane są do sterowania wyglądem wyjścia instrukcji printf. Również konwersja danych z liczb na łańcuchy kontrolowana jest przez łańcuch formatu zawarty w zmiennej wbudowanej CONVFMT. Zob. 6.5.2. Litery sterujące formatem.
FSF
Zobacz "Free Software Foundation".
Free Software Foundation
Organizacja non-profit, której celem jest tworzenie i rozpowszechnianie swobodnie rozpowszechnialnego oprogramowania. Założona przez Richarda M. Stallmana, autora oryginalnego edytora Emacs. GNU Emacs jest obecnie najszerzej używaną wersją Emacsa.
Funkcja
Wyspecjalizowana grupa instrukcji stosowana do zamknięcia w całość ogólnych lub specyficznych dla programu zadań. awk ma wiele funkcji wbudowanych, pozwala też na definiowanie własnych. Zob. 12. Funkcje wbudowane, i 13. Funkcje definiowane przez użytkownika.
Funkcja wbudowana (built-in function)
Język awk zapewnia funkcje wbudowane, które wykonują różnorodne obliczenia numeryczne, związane z czasem czy łańcuchami znakowymi. Przykładem jest sqrt (pierwiastek kwadratowy z liczby) czy substr (podłańcuch łańcucha). Zob. 12. Funkcje wbudowane.
gawk
Implementacja awk wykonana w ramach projektu GNU.
General Public License
Dokument ten opisuje warunki, na jakich może być rozpowszechniany gawk i jego źródła. (zob. 18. Powszechna Licencja Publiczna GNU)
GNU
Akronim: "GNU's not Unix" (GNU nie jest Uniksem). Nieustający projekt Fundacji Wolnego Oprogramowania (FSF) mający na celu stworzenie kompletnego, swobodnie rozpowszechnialnego, zgodnego z POSIX środowiska obliczeniowego.
GPL
Zobacz "General Public License".
Instrukcja złożona (compound statement)
Szereg instrukcji awk ujętych w nawiasy klamrowe. Instrukcje złożone mogą być zagnieżdżane. Zob. 9. Instrukcje sterujące w akcjach.
I/O
Skrót od "Input/Output" (wejście/wyjście), czynność przemieszczenia danych do i/lub z pracującego programu.
Język awk
Język, w którym pisane są programy awk.
Konkatenacja
Konkatenacja dwu łańcuchów oznacza sklejenie ich razem, jeden za drugim, co daje nowy łańcuch. Na przykład, łańcuch `foo' skonkatenowany z łańcuchem `bar' daje łańcuch `foobar'. Zob. 7.6. Konkatenacja łańcuchów.
Liczba zmiennoprzecinkowa (floating point number)
Często wzmiankowana według terminologii matematycznej jako liczba "wymierna", jest po prostu liczbą, która może mieć część ułamkową. Zobacz "Podwójna precyzja" i "Pojedyncza precyzja".
Liczba (number)
Obiekt danych o wartości numerycznej. Implementacja gawk do reprezentacji liczb wykorzystuje wartości zmiennoprzecinkowe o podwójnej precyzji. Bardzo stare implementacje awk stosują liczby zmiennoprzecinkowe pojedynczej precyzji.
Lwartość (lvalue)
Wyrażenie, które może pojawić się po lewej stronie operatora przypisania. W większości języków lwartościami mogą być zmienne lub elementy tablic. W awk jako lwartość może być też użyte oznaczenie pola.
Łańcuch (string)
Dana składająca się z ciągu znaków, jak `Jestem łańcuchem'. W języku awk łańcuchy stałe zapisywane są w cudzysłowach i mogą zawierać sekwencje specjalne. Zob. 4.2. Sekwencje specjalne.
Łańcuch pusty (empty string)
Łańcuch nie mający żadnych znaków. W programach awk reprezentowany jest jawnie przez umieszczenie obok siebie dwu znaków cudzysłowu (""). Może pojawić się w danych wejściowych, w miejscu dwu kolejnych wystąpień separatora pól obok siebie.
Łańcuch zerowy (null string)
Zobacz "Łańcuch pusty".
Nawiasy klamrowe (curly braces)
Znaki `{' i `}'. Nawiasy klamrowe stosowane są w awk do rozgraniczania akcji, instrukcji złożonych i ciał funkcji.
Obiekty danych (data objects)
Są to liczby i łańcuchy znaków. W razie potrzeby, liczby przekształcane są na łańcuchy i vice versa. Zob. 7.4. Konwersja łańcuchów i liczb.
Ósemkowa (octal)
Notacja o podstawie ósemkowej, gdzie cyframi są 0-7. Liczby ósemkowe zapisywane są w C za pomocą początkowego `0', co wskazuje ich podstawę. Zatem, 013 to 11 (jeden razy 8 plus 3).
Plik specjalny (special file)
Nazwa pliku interpretowana przez gawk wewnętrznie, a nie przekazana wprost do obsłużenia przez stosowany system operacyjny. Na przykład, `/dev/stderr'. Zob. 6.7. Specjalne nazwy plików w gawk.
Podwójna precyzja (double precision)
Wewnętrzna reprezentacja liczb, które mogą mieć część ułamkową. Liczby podwójnej precyzji pamiętają więcej cyfr niż liczby pojedynczej precyzji, ale działania na nich są bardziej kosztowne. Jest to sposób, w jaki awk przechowuje wartości numeryczne. Jest to występujący w C typ double.
Pojedyncza precyzja (single precision)
Wewnętrzna reprezentacja liczb, które mogą mieć część ułamkową. Liczby pojedynczej precyzji pamiętają mniej cyfr niż liczby podwójnej precyzji, ale działania na nich są mniej kosztowne, jeśli chodzi o czas CPU. Tego typu do przechowywania wartości numerycznych używają niektóre bardzo stare wersje awk. Jest to występujący w C typ float.
Pole (field)
Gdy awk czyta rekord wejściowy, dzieli go na części oddzielone białymi znakami (lub separującym wyrażeniem regularnym, które zmienia się nadając nową wartość zmiennej wbudowanej FS). Części takie nazywamy polami. Jeżeli są one stałej długości, to do opisu tych długości można zastosować zmienną FIELDWIDTHS. Zob. 5.5. Jak rozdzielać pola, zobacz też Zob. 5.6. Czytanie danych o stałej szerokości.
POSIX
Nazwa szeregu standardów opracowanych przez IEEE, które określają interfejs przenośnego systemu operacyjnego (Portable Operating System Interface). Końcówka "IX" oznacza dziedzictwo standardów po systemie Unix. Głównym standardem, jaki może zainteresować użytkowników awk jest IEEE Standard for Information Technology, Standard 1003.2-1992, Portable Operating System Interface (POSIX) Part 2: Shell and Utilities. Nieformalnie standard ten często zwany jest po prostu "P1003.2".
Powszechna Licencja Publiczna
Zobacz "General Public License".
Program awk
Dowolny program awk składa się z szeregu wzorców i akcji, wspólnie znanych jako reguły. Dla każdego rekordu wejściowego podanego programowi przetwarzane są po kolei wszystkie reguły. Programy awk mogą też zawierać definicje funkcji.
Prywatne (private)
Zmienne i/lub funkcje przeznaczone do wyłącznego użytku przez funkcje biblioteczne, a nie w głównym awk programie. Przy nazywaniu takich zmiennych i funkcji należy zachować szczególną ostrożność. Zob. 15.13. Nazywanie zmiennych globalnych funkcji bibliotecznych.
Przekierowanie (redirection)
Przekierowanie oznacza wykonywanie pobierania danych (wejścia) z innego miejsca niż standardowy strumień wejścia, lub wyjścia gdzie indziej niż do standardowego strumienia wyjścia. Wyjście instrukcji print i printf przekierowuje się do pliku lub polecenia systemowego za pomocą operatorów `>', `>>' i `|'. Wejście instrukcji getline przekierowuje się za pomocą operatorów `<' i `|'. Zob. 6.6. Przekierowanie wyjścia print i printf, i 5.8. Odczyt bezpośredni przez getline.
Przypisanie (assignment)
Wyrażenie awk, które zmienia wartość jakiejś zmiennej lub obiektu danych awk. Obiekt, do którego można wykonać przypisanie, nazywany jest lwartością. Przypisywane wartości zwane są rwartościami. Zob. 7.7. Wyrażenia przypisania.
Regexp
Skrót od regular expression (wyrażenie regularne). Wyrażenie regularne jest wzorcem opisującym zbiór łańcuchów, który może być nieskończony. Na przykład, do wyrażenia regularnego `R.*xp' pasuje każdy łańcuch zaczynający się od litery `R' a kończący literami `xp'. W awk wyrażenia regularne używane są we wzorcach i wyrażeniach warunkowych. Wyrażenia warunkowe mogą zawierać sekwencje specjalne. Zob. 4. Wyrażenia regularne.
Reguła (rule)
Segment programu awk, który określa w jaki sposób przetworzyć pojedyncze rekordy wejściowe. Reguła składa się ze wzorca i z akcji. awk czyta rekord wejściowy. Następnie, dla każdej reguły, jeżeli rekord wejściowy spełnia wzorzec reguły, to awk wykonuje jej akcję. W przeciwnym razie, dla tego rekordu wejściowego reguła nic nie robi.
Rekord wejściowy (input record)
Pojedyncza porcja danych czytana przez awk. Zwykle, rekord wejściowy awk składa się z jednego wiersza tekstu. Zob. 5.1. Jak wejście dzielone jest na rekordy.
Rekurencja (recursion)
Gdy funkcja wywołuje sama siebie, albo wprost albo pośrednio. Jeśli nie jest to jasne, przejdź do hasła "rekurencja".
Rwartość (rvalue)
Wartość, która może pojawić się po prawej (right) stronie operatora przypisania. W awk wartość posiada zasadniczo każde wyrażenie. Wartości te są rwartościami.
sed
Zobacz "Edytor strumieniowy".
Sekwencje specjalne (escape sequences)
Specjalny ciąg znaków stosowany do opisania znaków niedrukowalnych, jak `\n' dla znaku nowej linii, czy `\033' dla znaku ASCII ESC (escape). Zob. 4.2. Sekwencje specjalne.
Skracanie (short-circuit)
Przyrodzona cecha operatorów logicznych `&&' i `||' z awk. Jeżeli wartości całego wyrażenia można dociec na podstawie obliczenia tylko lewostronnej części tych operatorów, to prawa strona nie będzie obliczana. (zob. 7.11. Wyrażenia logiczne).
Skrypt awk
Inne określenie programu awk.
Skutek uboczny (side effect)
Skutek uboczny występuje, gdy wyrażenie poza samym utworzeniem wartości ma jakiś inny skutek. Skutki uboczne mają wyrażenia przypisania, inkrementacji i dekrementacji oraz wywołania funkcji. Zob. 7.7. Wyrażenia przypisania.
Słowo kluczowe (keyword)
W języku awk słowo kluczowe to słowo, które ma specjalne znaczenie. Słowa kluczowe są zastrzeżone i nie mogą być wykorzystywane jako nazwy zmiennych. W gawk słowami kluczowymi są: BEGIN, END, if, else, while, do...while, for, for...in, break, continue, delete, next, nextfile, function, func, i exit.
Spacja (space)
Znak tworzony przez naciśnięcie na klawiaturze klawisza odstępu.
Szesnastkowa (hexadecimal)
Notacja o podstawie 16, gdzie cyframi są 0-9 i A-F, z `A' reprezentującym 10, `B' reprezentującym 11, i tak aż do `F' dla 15. Liczby szesnastkowe zapisywane są w C za pomocą początkowego `0x', co wskazuje ich podstawę. Zatem, 0x12 to 18 (jeden razy 16 plus 2).
Środowisko (environment)
Zbiór łańcuchów, postaci nazwa=wart, dostępny dla każdego programu. Użytkownicy na ogół umieszczają wartości w środowisku w celu dostarczenia informacji rozmaitym programom. Typowymi przykładami są zmienne środowiska HOME i PATH.
Tabulacja (tab)
Znak tworzony przez naciśnięcie na klawiaturze klawisza TAB. Przy wypisywaniu zazwyczaj rozwijany aż do ośmiu spacji.
Unix
Komputerowy system operacyjny pierwotnie opracowany we wczesnych latach 70-tych w AT&T Bell Laboratories. Początkowo stał się popularny na uniwersytetach na całym świecie, później przeniósł się do środowisk komercyjnych jako system do tworzenia oprogramowania i system serwerów sieciowych. Istnieje wiele wersji handlowych Uniksa, jak też kilka podobnie działających systemów, których kod źródłowy jest swobodnie dostępny, jak Linux, NetBSD czy FreeBSD).
Wyrażenie boole'owskie (boolean expression)
Nazywane od angielskiego matematyka Boole'a. Zobacz "Wyrażenie logiczne".
Wyrażenie logiczne (logical expression)
Wyrażenie wykorzystujące operatory logiki, AND, OR i NOT, zapisywane w awk jako `&&', `||' i `!'. Często zwane wyrażeniami boole'owskimi, od nazwiska matematyka, który był pionierem tego rodzaju logiki matematycznej.
Wyrażenie porównania (comparison expression)
Relacja, która jest albo prawdziwa albo fałszywa, jak `(a < b)'. Wyrażenia porównania używane są w instrukcjach if, while, do i for oraz we wzorcach wybierających rekordy, jakie mają być przetwarzane. Zob. 7.10. Typy zmiennych i wyrażenia porównania.
Wyrażenie regularne (regular expression)
Zobacz "regexp".
Wyrażenie regularne stałe (regular expression constant)
Wyrażenie regularne stałe (stała regexp) jest wyrażeniem regularnym zapisanym wewnątrz ukośników, jak /foo/. Wyrażenie takie jest dobierane podczas pisania programu awk i nie może być zmienione podczas jego wykonywania. Zob. 4.1. Jak stosować wyrażenia regularne.
Wyrażenie warunkowe (conditional expression)
Wyrażenie wykorzystujące trójargumentowy operator `?:', jak `wyr1 ? wyr2 : wyr3'. Obliczane jest wyrażenie wyr1; jeżeli wynik jest prawdą, to wartością całego wyrażenia jest wartość wyr2, w przeciwnym razie wartością jest wyr3. W każdym z przypadków obliczane jest tylko jedno z wyr2 i wyr3. Zob. 7.12. Wyrażenia warunkowe.
Wzorzec (pattern)
Wzorce mówią awk, jakie rekordy wejściowe są obiektem zainteresowania których reguł. Wzorzec jest dowolnym wyrażeniem warunkowym, w stosunku do którego sprawdzane jest wejście. Jeżeli warunek jest spełniony, mówimy, że rekord wejściowy pasuje do wzorca. Typowy wzorzec może porównywać rekord wejściowy z wyrażeniem regularnym. Zob. 8.1. Elementy wzorców.
Zakres (range) (wierszy wejściowych)
Sekwencja kolejnych wierszy pliku wejściowego. Zakresy wierszy wejściowych przeznaczonych do przetworzenia przez awk mogą być określane za pomocą wzorca. Wzorzec taki może też określać pojedyncze wiersze. Zob. 8.1. Elementy wzorców.
Zdumiewający asembler w awk
Henry Spencer z Uniwersytetu w Toronto napisał zmiennocelowy asembler w całości jako skrypty awk. Składa się z tysięcy linijek, zawierając opisy architektur dla kilkunastu mikrokomputerów ośmiobitowych. Jest to dobry przykład programu, który lepiej było napisać w innym języku.
Zestaw znaków (character set)
Zestaw kodów liczbowych wykorzystywanych przez system komputerowy do reprezentacji znaków (liter, cyfr, znaków przestankowych itp.) konkretnego kraju czy miejsca. Najpowszechniej obecnie używanym zestawem znaków jest ASCII (American Standard Code for Information Interchange). Wiele krajów europejskich używa rozszerzenia ASCII znanego jako ISO-8859-1 (ISO Latin-1).
Zmienna wbudowana (built-in variable)
ARGC, ARGIND, ARGV, CONVFMT, ENVIRON, ERRNO, FIELDWIDTHS, FILENAME, FNR, FS, IGNORECASE, NF, NR, OFMT, OFS, ORS, RLENGTH, RSTART, RS, RT i SUBSEP, są zmiennymi mającymi specjalne znaczenie dla awk. Zmiana którejś z nich wpływa na środowisko pracy awk. Kilka z tych zmiennych jest specyficzne tylko dla gawk. Zob. 10. Zmienne wbudowane.

 


Przejdź do pierwszej, poprzedniej, następnej, ostatniej sekcji, spisu treści.

 
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.