12.07.2013 Views

jegyzet gyomlált változata - Eötvös Loránd Tudományegyetem

jegyzet gyomlált változata - Eötvös Loránd Tudományegyetem

jegyzet gyomlált változata - Eötvös Loránd Tudományegyetem

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

NR Ez a változó a rekord beolvasása után frissül, és a már beolvasott rekordok számát<br />

(Number of Records) mutatja.<br />

NF Dinamikusan frissülő változó, mely a a mezők számát (Number of Fields) mutatja<br />

az adott rekordban. Értékét minden rekord beolvasása után automatikusan kapja.<br />

IGNORECASE A bemenet feldolgozásához használt kapcsoló, ha az értéke nem nulla,<br />

akkor a kis és nagybetűket a gawk nem különbözteti meg.<br />

4.4. A gawk legegyszerűbb utasításai<br />

A gawk program számos összetett funkciót ellátó paranccsal rendelkezik, de most egyelőre<br />

csak a legegyszerűbbekkel ismerkedünk meg. A {Utasítások} szakaszban több gawk<br />

utasítás is szerepelhet, azonban több utasítás esetén azokat egymástól ;-vel el kell választani.<br />

• print – kiíratás, a parancs után vesszővel felsorolt változókat és konstansokat kiírja<br />

a kimenetre. Pl. print $2,$1 kiírja az adatfájl minden sorára az adott sor második<br />

és első elemét, tehát az összes adatsorra lefutva megkapjuk az adatfájl második és<br />

első oszlopának adatait felcserélve.<br />

• printf() – kiíratás C szintaxissal. A printf() parancs a C nyelv szintaxisát követi,<br />

azaz a zárójelek között idézőjelek közé helyezzük a kiírni szánt mennyiségek formázását,<br />

majd az idézőjel bezárása után vesszővel elválasztva megadjuk a kiírni<br />

szánt mennyiségeket. Pl. printf(”%d %.2f\n”,$1,$2) kiírja az első oszlop elemeit<br />

($1 ) egész értékekként (%d), majd egy szóköz után a második oszlop elemeit ($2 )<br />

két tizedesjegyet ábrázolva lebegőpontos számként (%.2f ).<br />

• matematikai operátorok: +,-,*,/,ˆ,% – az összeadás, kivonás, szorzás, osztás, hatványozás,<br />

modulo szimbólumai. Az a=$2*2-$1 utasítás például az a változóhoz<br />

hozzárendeli az adott rekord második mezőjének kétszeresét, levonva belőle az első<br />

oszlop értékét. A gawk ismeri a C nyelvben gyakran használt jelöléseket is:<br />

++,--,+=,-=,/=,*=. Ezek közül a ++ eggyel növeli, -- pedig eggyel csökkenti<br />

a változó értékét. A += utasítással a a=a+b alakú értékadásokat rövidíthetjük<br />

a+=b alakúra. A többi értékadó utasítás ennek analógja.<br />

4.5. Reguláris kifejezések<br />

Szöveges adatfájlok feldolgozásánál, szövegszerkesztésnél, dokumentáció olvasása közben<br />

és számos más helyzetben szükséges lehet bizonyos szöveges minták keresésre. A reguláris<br />

kifejezés egy minta, amely a karakterláncoknak (stringeknek) egy halmazát írja<br />

57

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!