@documentlanguage hu
"To boldly go where no man has gone before" a
Paramount Pictures Corporation regisztrált védjegye.
Copyright (C) 1989, 1991, 92, 93, 96, 97, 98, 99 Free Software Foundation, Inc.
A Hatékony AWK programozás 1.0.4 kiadása
a 3.0.4 (vagy késôbbi) GNU AWK implementációt mutatja be.
Kiadta:
sales@ssc.com
gnu@gnu.org
http://www.ssc.com/
http://www.fsf.org/
ISBN 1-882114-26-4
Ez a könyv az awk
nyelvet mutatja be, és hogy hogyan lehet azt
hatékonyan használni. Már ismerned kell néhány alapvetô rendszerparancsot,
úgy mint a cat
, az ls
(1),
illetve tisztában kell legyél a shell lehetôségeivel, például
bemenet/kimenet (I/O) átirányítás fogalmával és a csövek (pipe) használatával.
Az awk
nyelv különbözô implementációja sokféle számítógépen elérhetô.
Ez a könyv, bár az awk
nyelv általános tulajdonságait is elmagyarázza,
az awk
egy speciális implementációját mutatja be, a gawk
-ot
("GNU awk"). A gawk
sokféle Unix rendszeren fut, kezdve a PC-ktôl
a Cray számítógépekig. A gawk
futtatható MS-DOS, OS/2 PC, Atari, Amiga
és VMS operációs rendszereken is.
awk
és a gawk
története
Az awk
név az alkotók kezdôbetűibôl áll össze:
Alfred V. Aho, Peter J. Weinberger, and Brian W. Kernighan. Az eredeti
awk
1977-ben az AT&T Bell laboratóriumában készült. 1985-ben
egy új verzió továbbfejlesztette a nyelvet, bevezette a felhasználó
által definiálható függvényeket, több bemeneti folyamot (stream)
és a dinamikus reguláris kifejezéseket. Ezt a verziót használta a Unix
System V Release 3.1. A System V Release 4 -el érkezô újabb verzió
további lehetôségeket adott a nyelvhez, és le is tisztította a
nyelv "sötét sarkait". A "POSIX Command Language and Utilities" (POSIX
parancsnyelv és segédprogram) szabvány letisztázta a nyelv alapjait az
eredeti (Bell laboratórium) awk
és a gawk
tervezôinek
segítségével.
A GNU implementációt, a gawk
-ot, 1986-ban Paul Rubin és Jay Fenlason írta
Richard Stallman tanácsai alapján. John Woods írta a kód egy részét.
1988-ban és 1989-ben David Trueman, Arnold Robbins segítségével, alaposan
átdolgozta a gawk
-ot, hogy kompatíbilis legyen az újabb
awk
verziókkal. A jelenlegi fejlesztés a hibák
kijavítására, a teljesítmény javítására,
a szabvánnyal való kompatíbilitás biztosítására és néha
új lehetôségek kipróbálására koncentrál.
A Szabad Szoftver Alapítvány (Free Software Foundation - FSF) egy
nonprofit szervezet, amely a szabadon terjeszthetô szoftverek
készítésére és terjesztésére jött létre. Richard M.
Stallman, az eredeti Emacs editor írója, alapította. A GNU
Emacs a legelterjedtebb Emacs verzió.
A GNU project a Szabad Szoftver Alapítvány folyamatos
erôfeszítése, hogy teljes, szabadon terjeszthetô és POSIX
kompatíbilis környezetet hozzon létre. (A GNU jelentése: "GNU's not
Unix".) Az FSF a "GNU General Public License" (vagy GPL) licencet
használja annak biztosítására, hogy a szoftverei
forráskódja mindig hozzáférhetô legyen a felhasználók
számára. A GPL egy példányát megtalálhatod a könyv végén
(see section GNU GENERAL PUBLIC LICENSE). A GPL a gawk
C
forráskódjára vonatkozik.
Egy parancsértelmezô (shell), egy editor (Emacs), hordozható, optimalizáló C, C++ és
Objective-C fordítók (compiler), egy debugger és több tucat nagyobb és kisebb
segédprogram (mint a gawk
) a gyümölcsei a project-nek, és mind
szabadon hozzáférhetô. E dokumentum irásának pillanatában (1997 eleje)
a GNU operációs rendszer kernele (a HURD), bár hozzáférhetô, de a fejlesztés
egy korai stádiumában van.
Amíg a GNU operációs rendszer el nem készül, a Linux rendszert érdemes
használni, ami egy szabadon hozzáférhetô, Unix jellegű operációs rendszer
80386, DEC Alpha, Sun SPARC és más rendszerekre. Sok könyvet írtak a Linuxról,
az egyik szabadon elérhetô a Linux Installation and Getting Started
Matt Welsh által. Többféle Linux disztribúció elérhetô, gyakran
számítógépes boltokban vagy egy könyv CD mellékleteként.
(További három, szabadon terjeszthetô Unix jellegű operációs rendszer
létezik, a NetBSD, a FreeBSD és az OpenBSD. Ezek a
4.4-Lite Berkeley Software Distribution -on alapulnak és a gawk
-ot
használják mint awk
.)
Ez a könyv, amit éppen olvasol, szintén ingyenes. A könyvbeli
információ szabadon hozzáférhetô bárki számára, a könyv forrása
a gawk
-al egy közös csomagban található. Bárki lemásolhatja
ezt a könyvet, annyiszor ahányszor csak akarja. (Szentelj
egy percet a másolási engedély elolvasásának a "Copyright" oldalon.)
Ha pénzt fizettél ezért a könyvért, akkor amiért igazából fizettél
az a könyv nyomtatása és kötése és a kiadó esetleges extra
költségei. Mindent megtettünk, hogy ez a költség lehetôleg alacsony
legyen; az emberek egy jelentôs része a kötött könyvet
részesíti elônyben, mint egy 330 oldalból álló
fénymásolt, valamilyen módon összekötött anyagot (nem is
beszélve a másolási idôrôl és munkáról). Ugyanez igaz
amikor a könyvet a forrásból gyártod le; a kötött könyv
ára csak egy kicsit több mint ha magad nyomtatnád ki a teljes
könyvet. @end iftex
Maga a könyv több elôzetes kiadást élt meg.
A GAWK kézikönyv egy piszkozatán kezdtem el dolgozni másokkal együtt,
Diane Close, Paul Rubin és Richard Stallman, 1988 végén. Kb. 90 oldal
volt és alig mutatta be az eredeti, "régi" awk
verziót. Többszöri
átdolgozás után A GAWK kézikönyv elsô változata 1989 oktoberében
jelent meg, mint 0.11 Beta kiadás. További jelentôs változtatások
után a 0.13-as kiadás 1991 decemberében jelent meg.
David Trueman, Pat Rankin és Michal Jaegermann írta a 0.13 -as kiadás
egyes fejezeteit. Ezt az anyagot adta ki az FSF, mint kötött könyvet
1992-ben. Ezután több kisebb átdolgozás következett, úgy mint
a 0.14-es kiadás 1992 novemberében, amit az FSF 1993 januárban adott ki,
és a 0.16 -os kiadás 1993 augusztusában.
A Hatékony AWK programozás 1.0-ás kiadása A GAWK kézikönyv egy jelentôs átdolgozása. Az FSF hozzájárult ahhoz, hogy most már én vagyok az elsôdleges szerzôje a könyvnek. Úgy éreztem, hogy találóbb cím is kellene ennek az új könyvnek.
A Hatékony AWK programozás feltétlenül fog még fejlôdni. Egy elektronikus
formája a gawk
disztribúcióban is megtalálható. Ha hibát találsz
a könyvben, kérlek jelentsd azt!
See section Reporting Problems and Bugs, hogy hogyan lehet
a problémákat jelenteni elektronikus formában, vagy írj nekem az FSF
címére.
Elismerésemet szeretném kifejezni Richard M. Stallman-nak, egy jobb világ víziójáért és bátorságáért, hogy megalapította az FSF-t és elindította a GNU project-et.
A GAWK kézikönyv eredeti tervezete az alábbi köszönetnyilvánítást tartalmazta:
Sok embernek jár köszönet azért, hogy ennek a kézikönyvnek az elkészítésében közreműködött. Jay Fenlason sok ötletet adott és mintaprogramokat írt. Richard Mlynarik és Robert Chassell megjegyzésekkel segítette a kézikönyv létrejöttét. John W.Pierce (UC San Diego, Kémia tanszék) A Supplemental Document for
awk
című cikke pontosan bemutatta ennek a dokumentumnak és azawk
nyelvnek azon hiányosságait, ami egyébként elkerülte volna a figyelmünket.
Az alábbi emberek hasznos tanácsokat adtak a A GAWK kézikönyv 0.13-as kiadásához: Rick Adams, Michael Brennan, Rich Burridge, Diane Close, Christopher ("Topher") Eliot, Michael Lijewski, Pat Rankin, Miriam Robbins és Michal Jaegermann.
Az alábbi emberek hasznos tanácsokat adtak a Hatékony AWK programozás 1.0-ás kiadásához: Karl Berry, Michael Brennan, Darrel Hankerson, Michal Jaegermann, Michael Lijewski és Miriam Robbins. Pat Rankin, Michal Jaegermann, Darrel Hankerson és Scott Deifik az 1.0-ás kiadás bekezdéseit frissítették.
Robert J. Chassell a Texinfo használatában nyújtott segítséget. Azért külön köszönet illeti, hogy nem engedte, hogy a könyv címe a Hogyan Gawk-oljunk illedelmesen legyen. Karl Berry a Texinfo TeX részében segített sokat.
David Trueman-nak külön köszönet jár, mivel értékes segítséget nyújtott
a gawk
fejlesztésében, hogy az mindig kellôen gyors legyen,
és minél kevesebb hiba legyen a kódban. Bár ma már nem vesz részt a
gawk
fejlesztésében, nagy öröm volt vele dolgozni ezen a
project-en.
Scott Deifik, Darrel Hankerson, Kai Uwe Rommel, Pat Rankin és Michal
Jaegermann (nem fontossági sorrendben) a gawk
hordozhatóságáért
felelôs csoport tagjai már hosszú ideje. Munkájuk és segítségük nélkül
a gawk
közel sem lenne olyan jó program, mint amilyen ma. Mindig
is öröm volt és ma is az, hogy velük dolgozhatok.
Jeffrey Friedl felbecsülhetetlenül értékes segítséget nyújtott néhány,
a gawk
3.0-ás verziójának kibocsátása elôtti, a reguláris kifejezésekkel
kapcsolatos hiba megtalálásában.
David és én meg szeretnénk köszönni Brian Kernighan (Bell laboratórium)
felbecsülhetetlenül értékes segítségét a gawk
tesztelése során,
ill. hogy segített megérteni több problémás kérdést a nyelvvel kapcsolatban.
Sem a gawk
, sem a dokumentációja nem lenne olyan jó mint most a
segítsége nélkül.
Meg szeretném köszönni Marshall és Elaine Hartholz-nak (Seattle) és Dr.
Bert és Rita Schreiber-nek (Detroit) a hosszú és nyugodt vakációkat, amit
otthonukban töltöttem, így jelentôsen elôre tudtam haladni a gawk
és e könyv elkészítésében. Phil Hughes (SSC) szintén jelentôsen
hozzásegített a cél eléréséhez, mivel kölcsönadta a Linux laptop-ját, nem is
egyszer, de kétszer, így lehetôvé tette számomra, hogy az otthonomtól távol
is dolgozhassam.
Legvégül, megköszönöm feleségemnek, Miriam, a türelmét e project többszöri
átdolgozása során, azt hogy elsôként átolvasta és javította hibákat, illetve
hogy megosztott velem egy számítógépet. Meg szeretném köszönni szüleimnek
a szeretetüket és a jóindulatukat amivel felneveltek.
Ezenkívül hálával gondolok Istenre a sok lehetôségért amit számomra nyújtott,
és azokért a nekem adott "ajándékokért" amivel e lehetôségeket fel tudtam
használni.
Arnold Robbins
Atlanta, Georgia
February, 1997
Go to the first, previous, next, last section, table of contents.