Tudjon meg többet az Awkről: Valaha a legerősebb szövegszerkesztő eszköz?

Közzététel: Támogatása segít fenntartani a webhely működését! Az ezen az oldalon javasolt szolgáltatások némelyikén referenciadíjat keresünk.


Az Awk a legnagyobb szövegszerkesztő eszköz, amelyről nem tudta, hogy szüksége van rá. De ha sok adattal dolgozik, akkor valószínűleg olyan dolgokra gondolt, mint például: „Nagyon jó lenne a táblázat második és ötödik oszlopát kinyerni.” És ezt a legegyszerűbb formában teszi Awk.

Egy kis történelem

A korábbi napokban a legtöbb ember tudta, mi a relációs adatbázis – és majdnem két évtizeddel a MySQL kifejlesztése előtt – sok adatot tároltak szöveges fájlokban. Az igazság az, hogy még mindig sok adatot tárolnak ilyen módon. Különösen igaz ez a Unix operációs rendszerekre. Például az Unix / etc / passwd fájl csak egy szöveges fájl, amelynek egy sora van a rendszer minden felhasználója számára, és a felhasználó minden mezőjét kettőspont választja el. Például:

admin: * 1001: 2001: Adminisztrátor: / home / root: / home / sh
brian: *: 1002: 2002: Brian Kernighan: / otthon / brian: / otthon / bash

Nagy rendszereknél az ilyen passwd fájlok több ezer sort tartalmazhatnak. Elképzelheti, hogy előfordulhat, hogy a számítógépen fiókkal rendelkező személyek teljes listáját szeretné megtekinteni. Ebben az esetben ez az 5. mező lenne. Tehát 1977-ben három programozó létrehozott egy általános programot erre. Ezek voltak: Alfred Aho, Peter Weinberger és Brian Kernighan. És az AWK kezdőbetűik így kapják a nevét.

Awk példa

Alapértelmezés szerint az Awk feltételezi, hogy a mezőket szóköz karakterek választják el egymástól. Megmondhatja az Awk-nek, hogy más karaktert használjon az -F (vagy –mező-elválasztó) zászló használatával, hogy az Awk-nak más mező elválasztója legyen. Az / etc / passwd esetén használni szeretnénk a „:” karaktert.

Az elválasztó karakter alapján az Awk az első mezőt a $ 1 változóhoz, a második mezőt a $ 2 változóhoz rendeli, és így tovább. A teljes sort 0 dollárhoz rendelik. Ha ez ismerősnek tűnik, az oka lehet, hogy a Bourne és Bash parancsfájl-parancsfájlok így kezelik a parancssori paramétereket.

Bár az Awk szkriptek fájlokba helyezhetők, általában csak a parancssorba kerülnek, az Awk parancs részeként. Itt van egy egyszerű awk parancs, amely kinyomtatja az / etc / passwd fájlban felsorolt ​​fiókok összes felhasználói és valódi nevét:

awk -F: ” / etc / passwd

Ez a következő kimenetet hozza létre a fenti példa / etc / passwd fájlból:

admin rendszergazda
Brian Brian Kernighan

Ez körülbelül annyira egyszerű Awk program, mint amennyire van. De valószínűleg láthatja, hogy ez önmagában nagyon erős. Gyakran az emberek fontosnak tartják az ilyen fájlok táblázatokba foglalását, törli a szükségtelen oszlopokat, majd az eredményt új szöveges fájlként menti el. Ez nehézkes, ha ugyanazt tudod csinálni Awk-vel pár másodperc alatt. És ez csak a kezdet. A kimenetet feltételhez kötheti; teljes mértékben vezérelheti a kimenetet; ha numerikus adatokkal foglalkozik, akkor számításokat végezhet rajta; és még sok más.

Awk források

Az Awk nyelv nagyon könnyen megtanulható. És nagyon sok erőforrás van ehhez. Átmegyünk néhányat alább.

Online oktatóprogramok

Az alábbiakban bemutatunk egy sor olyan útmutatót, amelyek a legelején kezdődnek, és átvezetik a nyelv legfontosabb szempontjait. Melyiket találja a leghasznosabbnak, attól függ.

  • Grymoire Awk bemutatója: ez Bruce Barnett kiváló bevezetése az Awk-ba. Nézze meg az összes Unix útmutatót.
  • Általános szálak: Awk példa szerint: ez az IBM-től származik, és fájdalommentes módon segít megtanulni az Awk-t. Ne felejtse el nézni a 2. részt, miután elkészült vele.
  • Awk bemutatója: ez az Awk oktatópont-bevezetése, amely még letöltheti és telepítheti Linux gépeken..
  • Awk Primer: ez az oktatóanyag nagyon gyorsan megy, de ha jól érzi magát a shell parancsfájlokkal, vagy ha az múltban már használta az Awk-t, ez jó választás.

Könyvek

Számos jó könyv alapot teremt az Awk számára.

  • Az Awk programozási nyelve Aho és Kernighan: ez az eredeti könyv az Awk-ról. De az eredeti fejlesztők legtöbb ilyen könyvével ellentétben ez nagyon jó és könnyen érthető.
  • sed & Awk, Dougherty és Robbins: ez egy klasszikus, amely foglalkozik az Awk-vel, valamint a stream-szerkesztővel (sed). A kettőt gyakran együtt használják. Szintén érdekes a Sed és az Awk: Pocket Reference, miután kényelmesen használta a rendszereket.
  • AWK programozás: George Duckett kérdései és válaszai: ez egy érdekes Kindle könyv, amely többé-kevésbé szakácskönyv. Ez egy csomó nagyszerű kérdést tartalmaz, amelyek kibővítik az Awk-ről gondolkodásukat, és azokat a módszereket, amelyekről úgy gondolja, hogy felhasználhatók.
  • Hatékony awk programozás: Univerzális szövegfeldolgozás és mintázat-illesztés: Arnold Robbins: ez olyan, mint az Awk Programming Lanuage folytatása. Mélyebben eljut a nyelvbe, és az Awk, Gawk Gnu verziójára összpontosít.

Awk végrehajtások

Számos Awk-megvalósítás történt az első, 1977 óta. Valójában 1985-ben (az Awk programozási nyelv megjelenése előtt) az Awk jelentősen kibővült. Ezt a verziót gyakran „új Awk” -nek vagy nawk-nak nevezik. Van néhány népszerűbb verzió, amely jelenleg elérhető.

  • Gawk: ez a Gnu Project Awk megvalósítása. Rendkívül népszerű és más nyelveket jobban támogat, mint a többi verzió.
  • BWK: ez az „egyetlen igazság az Awk-ban”, mivel az The Awk Programming Lanuage-hez használják. Széles körben használják a FreeBSD-n.
  • Mawk: ez egy verzió, amelyet eredetileg Mike Brennan írt, de 2009 óta fenntartja és frissíti Thomas Dickey. A hangsúly a sebességre koncentrál.
  • BusyBox: ez egy általános eszköz, amely számos egyszerűsített Unix eszközt kínál, köztük az Awk-t.

Online fórumok

Időnként csak kérdéseket kell feltennie. És nagyon sok ember van az interneten, akik jól ismerik Awket. Íme néhány jobb út, ahol választ kaphat kérdéseire.

  • Comp.lang.awk Google Csoport: ez egy viszonylag aktív fórum, amelyet érdemes megnézni.
  • Veremtúlcsordulási Awk-kérdések: Ez a legújabb kérdés egy oldala, amelyet az Awk-vel kapcsolatosnak címkéztek. Remek referencia és hely, ahol felteheti a saját kérdéseit.
  • Awk Reddit: ez az Awk alhirdetése. Nem nagyon aktív, de nagyon sok hozzáértő ember van körülötte, és ez egy jó hely a kérdések megválaszolására..

összefoglalás

Az Awk remek nyelv a szövegfeldolgozáshoz. És csodálatos dolgokat is tehet, ha eléggé el akarja tolni a nyelvet. Ugyanakkor a szintaxisa elég egyszerű, hogy gyorsan beléphessen a munkaeszköz-készletbe. Az itt bemutatott forrásoknak minden szükséges segítséget megadniuk kell.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map