Przejdź do pierwszej, poprzedniej, następnej, ostatniej sekcji, spisu treści.
- 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 netlib@research.bell-labs.com.
- 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.