next up previous index
Következő: 15.50.7 VÁLTOZÓK, REKORDOK ÉS Fel: 15.50 awk(1) Előző: 15.50.5 OPCIÓK   Index

15.50.6 AZ awk PROGRAM VÉGREHAJTÁSA

Egy awk program minta-tevékenység utasítások és opcionális függvénydefiníciók sorozata.
minta {tevékenység utasítások}
function név (paraméter lista){utasítások}
A gawk először beolvassa a programforrást a programfile-(ok)ból (ha meg van adva ilyen), a -source argumentumából, vagy a parancssor első, nem-opció argumentumából. A -f és a -source opciók többször használhatók a parancssorban. A gawk ilyenkor úgy olvassa be a program szövegét, mintha minden programfile és parancssori forrásszöveg össze volna kapcsolva (konkatenálva). Ez jól használható awk függvénykönyvtárak kialakításához. Így nincs szükség a függvények befoglalására minden olyan új programba, amely használja azokat. Ez azt is lehetővé teszi, hogy a könyvtári függvényeket a parancssori programokkal keverjük. Az AWKPATH környezeti változó előírja a -f opcióval megnevezett fájlok keresési útvonalát. Ha ez a változó nem létezik, az alapértelmezett keresési útvonal: ,,.:/usr/local/share/awk''. (A tényleges könyvtár aszerint változhat, hogy a gawk-ot hogyan fordították és installálták.) Amennyiben egy, -f opcióval átadott fájlnév ,,/'' karaktert tartalmaz, nem hajtódik végre útvonal-keresés. A gawk a következő forgatókönyv szeint hajtja végre a programokat. Először végrehajt minden, a -v opcióval előírt változó-értékadást. Ezután egy belső formába fordítja a programot, végrehajtja a BEGIN blokk(ok)ban levő kódot (ha van ilyen), majd beolvas minden, az ARGV tömbben megadott fájlt. Ha nincs file megnevezve a parancssorban, a gawk a standard bemenetet olvassa. Ha egy, a parancssorban megadott fájlnév var=val formájú, akkor ezt a gawk változó-értékadásként kezeli; a var változó megkapja a val értéket. (Ez azután történik, hogy minden BEGIN block lefutott.) A parancssori értékadás ott a leghasznosabb, ahol olyan változók értékeit adjuk meg dinamikusan, amelyek azt írják elő, hogy a bemenetet milyen módon kell mezőkre és rekordokra bontani. Ez állapot figyelésre is alkalmas, ha több futás is szükséges egyetlen adatfájlon. Ha az ARGV egy bizonyos eleme üres értékű (,,''), a gawk átugorja azt. A gawk ellenőrzi a bemenet minden rekordját, hogy eldöntse, illeszkedik-e az awk program bármely mintájára. Minden olyan mintához rendelt tevékenység végrehajtódik, amely mintára a rekord illeszkedik. A minták a programbeli előfordulás sorrendjében kerülnek vizsgálat alá. Végül, miután minden bemenetnek a végére ért, a gawk végrehajtja az END blokk(ok)ban lévő kódot (ha van ilyen).


next up previous index
Következő: 15.50.7 VÁLTOZÓK, REKORDOK ÉS Fel: 15.50 awk(1) Előző: 15.50.5 OPCIÓK   Index

1999-09-17