Van néhány gyakran előforduló probléma, amikor szövegfájlokkal dolgozunk. Szeretnék kiválasztani bizonyos sorokat és a többit eldobni. Esetleg módosítani bizonyos sorokat amikor egy minta előfordul, de a többit változatlanul hagyni.
Egyszer használatos programokat írni ezekre problémákra C, C++ esetleg java nyelven, időpazarló és felesleges. Ezek a dolgok sokkal egyszerűbben megoldhatók awk-val. Az awk eszközkészlet egy speciális nyelv, amellyel könnyen megoldatóak egyszerű szöveg- és adatmódosító feladatok.
A manapság használatos GNU awk az awk utódja, és teljes mértékben kompatibilis annak SVR4es verziójával. Ezen kívül ugyancsak kompatibilis az awk által használt POSIX specifikációjával. Ez azt jelenti, hogy a helyesen megírt awk programok, teljes bizonyossággal helyesen fognak lefutni a gawk fordítójával. Ezért nem szokás különbséget tenni a gawk és az awk egyéb implementációi között.
Awk lehetővé teszi:
Ezen felül a gawk-val egyszerűen:
Használata alapvető linuxos vagy unixos ismereteket feltételez, gondolok itt olyan alapvető parancsokra mint a cat vagy az ls és ismerni kell a shell I/O kezelését és a pipe lehetőségeit.
Az awk különböző implementációi több platformon is elérhetőek. Ezért az awk tanulása közben ügyelnünk kell arra, hogy bizonyos operációs rendszerek esetén lehetnek eltérések, gondolok itt akár különböző linux disztribúciókra vagy a Mac OS X re. (Az awk megvalósításoknak széles a skálája, és több platformra is elkészült, például: UNIX, Linux, OS X, Windows, MS-DOS, BeOS, VMS, Tandem, Atari, D20 stb.) Nem kell megijedni, ezek az eltérések ritkák, de néha nagy fejtörést okozhatnak. Például van olyan megvalósítása az awk-nak, ami alatt a BEGIN kulcsszó kötelezően nagybetűvel írandó, míg más implementációk megengedik a kisbetűs írásmódot is.