„Awk” változatai közötti eltérés
[nem ellenőrzött változat] | [ellenőrzött változat] |
Tartalom törölve Tartalom hozzáadva
bővít |
|||
193. sor:
* delete array
* exit [ kifejezés ]
A következő példa feltételes utasítást használ mintakeresésre:▼
<source lang = "awk">▼
# cal.awk -- kalóriaszámláló▼
# szövegfájl (táblázat) utolsó oszlopának összegzése és az összeg kiírása▼
#▼
# ha nincs érvényes adatpár, akkor az üres bemeneti sorokkal együtt kihagyja▼
{if (NF > 1){▼
# minden rekord utolsó mezőjében lévő számértéket az i-be gyűjti, hozzáadogatva▼
# és kiírja az aktuális sort is▼
i += $NF; print $0▼
} # feltétel vége▼
} # törzs vége▼
# ha nincs több sor, kiírja az összeg értékét két tabulátor után▼
END{print "\t\t" i} ▼
<\source>▼
=== Be- és kimeneti utasítások ===
326 ⟶ 310 sor:
}
</source>
▲A következő példa feltételes utasítást használ mintakeresésre:
▲<source lang = "awk">
▲ # cal.awk -- kalóriaszámláló
▲ # szövegfájl (táblázat) utolsó oszlopának összegzése és az összeg kiírása
▲ #
▲ # ha nincs érvényes adatpár, akkor az üres bemeneti sorokkal együtt kihagyja
▲ {if (NF > 1){
▲ # minden rekord utolsó mezőjében lévő számértéket az i-be gyűjti, hozzáadogatva
▲ # és kiírja az aktuális sort is
▲ i += $NF; print $0
▲ } # feltétel vége
▲ } # törzs vége
▲ # ha nincs több sor, kiírja az összeg értékét két tabulátor után
▲ END{print "\t\t" i}
Egy awk programban tetszőleges számú megjegyzést lehet elhelyezni. A megjegyzés sorok a rács (hashmark) "#" karakterrel kezdődnek
és az aktuális programsor végéig tartanak. A megjegyzések és a strukturált írásmód segítik a programok értelmezését más olvasók számára. Előző példa írható tömörebben is:
<source lang = "awk">
# cal.awk
{if (NF > 1){i += $NF; print $0}}
END{print "\t\t" i}
</source>
Fentieken kívül még számos bonyolultabb program is készíthető awk nyelven, például LISP-interpreter<ref>http://awk.info/?dsl/awklisp AWKLISP</ref>, PRAG a groff részére<ref>https://searchcode.com/codesearch/view/11528209/</ref>, stb.
|