Következő: 15.8.7.3 Beépített változók
Fel: 15.8.7 VÁLTOZÓK, REKORDOK ÉS
Előző: 15.8.7.1 Rekordok
  Index
Amint beolvassa az egyes rekordokat, a gawk mezőkre bontja azokat, az FS
változó értékét használva mezőelválasztóként. Ha FS egyetlan karakter, ez a
karakter választja el a mezőket. Ha FS üres sztring, akkor minden egyes
karakter külön mező lesz. Egyébként a program FS-t, mint reguláris
kifejezést kezeli. Abban a speciális esetben, amikor FS egyetlen space, a
mezőket space és/vagy tab és/vagy újsor karakterek választják el. (De lásd
lejjebb a -posix opció tárgyalását). Fontos, hogy az IGNORECASE értéke (lásd
lejjebb) szintén befolyásolja, hogy a mezők miként választódnak szét, amikor
az FS reguláris kifejezés; és hogy hogyan szeparálódnak a rekordok, amikor az
RS reguláris kifejezés. Ha a FIELDWIDTHS változó értékeként space-ekkel
elválasztott számlista van megadva, a gawk fix szélességű mezőket vár,és a
rekordot az adott szélességekre darabolja. Az FS értékét figyelmen kívül
hagyja. FS-nek új értéket adva a FIELDWIDTHS használata megszüntethető, és
visszaállítható az alapértelmezett működés. A bemeneti rekord minden mezőjére
pozíciója alapján hivatkozhatunk ( $1, $2,stb.) $0 az egész rekord. A mező
értéke meg is adható. A mezőhivatkozásnak nem szükséges konstansnak lennie:
n=5
print $n
kiírja a bemeneti rekord ötödik mezőjét. Az NF változó a bemeneti rekord
mezőinek számát tartalmazza. A nemlétező mezőkre történő hivatkozások (azaz
$NF-nél nagyobb indexű mezők) üres sztringet eredményeznek. Azonban a
nemlétező mezőnek történő értékadás (pl. $(NF+2) = 5) megnöveli NF értékét,
minden közbeeső mezőt üres sztringértékkel hoz létre, és $0 értékét újra
kiértékelteti úgy, hogy a mezőelválasztó OFS értéke lesz. A negatív
mezőhivatkozások fatális hibát okoznak. NF dekrementálása az új érték utáni
mezők értékének elvesztésével jár, valamint $0 értékének újraszámítását
okozza, OFS értékének megfelelő mezőelválasztással.
Következő: 15.8.7.3 Beépített változók
Fel: 15.8.7 VÁLTOZÓK, REKORDOK ÉS
Előző: 15.8.7.1 Rekordok
  Index
1999-09-17