Operációs rendszerek gyakorlat
Mezők
Előismeret
A bemenet rekordokra, illetve a rekordok mezőkre bontását az RS és az FS változók vezérlik. Az RS változó alapértelmezett tartalma a sortörés, az FS változóé pedig a szóköz karakter. Ha az FS változó értéke a szóköz, akkor a mezőket legalább egy szóköz vagy tabulátor választja el.
- Az akutális rekord mezőinek számát az NF beépített változó tárolja.
- A mezők típusai ugyancsak numerikus vagy szöveges lehet. Összehasonlítéskor a mezők tartalmát számnak tekinti az AWK, ha az érvényes számot tartalmaz, továbbá ha a másik tag konstans, numerikus változó vagy mezőhivatkozás.
- $KIF
- Az akutális rekord megadott sorszámú mezőjének tartalma. Ezt a jelölést mezőhivatkozásnak nevezzük.
- Tetszőleges kifejezést használhatunk, például $(2*3) a 6. mezőt jelzi. Negatív értékek nem megengedettek.
- A$NF az akutális rekord utolsó mezőjének tartalma
- $0 az aktuális rekord teljes tartalma
- $KIF=ÉRTÉK
- egy adott mezp, illetve KIF=0 esetén a rekord értékének módosítása
- ha $0 tartalmát változtatjuk meg, akkor minden mező új értéket kap. Ha viszont egy mező tartalmát módosítjuk, akkor a $0 értékét az AWK újraépíti oly módon, hogy a mezőket az OFS határolja majd el.
- Ha KIF > NF, akkor a mezők számát kibővíti és az NF-et módosítja. Szükség szerint a különböző helyekre új mezőket szór be, ezek értéke az üres sztring lesz. Végül pedig a $0 tartalmát is újraszámítja az előbb leírt módon.
Licensed under the Creative Commons Attribution Non-commercial Share Alike License 4.0