Sužinokite daugiau apie „Awk“: Galingiausias kada nors naudotas teksto apdorojimo įrankis?

Atskleidimas: Jūsų palaikymas padeda išlaikyti svetainę! Mes uždirbame siuntimo mokestį už kai kurias paslaugas, kurias rekomenduojame šiame puslapyje.


„Awk“ yra didžiausias teksto apdorojimo įrankis, kurio nežinojai, kad reikia. Bet jei dirbate su daugybe duomenų, turbūt pagalvojote apie tokius dalykus: „Būtų labai malonu iš šios lentelės ištraukti antrą ir penktą duomenų stulpelius“. Ir tai daro paprasčiausia forma Awk.

Maža istorija

Dienomis prieš tai dauguma žmonių žinojo, kas yra reliacinė duomenų bazė, ir beveik du dešimtmečius iki MySQL kūrimo, daug duomenų buvo saugoma tekstiniuose failuose. Tiesa ta, kad vis dar saugoma daugybė duomenų. Tai ypač pasakytina apie „Unix“ operacines sistemas. Pvz., „Unix“ / etc / passwd failas yra tik tekstinis failas su viena eilute kiekvienam sistemos vartotojui, o kiekvieną vartotojo lauką skiria dvitaškis. Pavyzdžiui:

admin: *: 1001: 2001: Administratorius: / home / root: / home / sh
brian: *: 1002: 2002: Brian Kernighan: / namai / brian: / namai / bash

Didelėse sistemose tokiuose slaptažodžių failuose gali būti tūkstančiai eilučių. Galite įsivaizduoti, kad kartais gali prireikti pilno sąrašo žmonių, turinčių abonementus jūsų kompiuteryje. Tokiu atveju tai bus 5-asis laukas. Taigi 1977 m. Trys programuotojai sukūrė bendrąją programą tai padaryti. Jie buvo: Alfredas Aho, Peteris Weinbergeris ir Brianas Kernighanas. O jų inicialai AWK yra tai, kaip Awk gavo savo vardą.

Awk pavyzdys

Pagal numatytuosius nustatymus „Awk“ daro prielaidą, kad laukai yra atskirti tarpais. Bet jūs galite nurodyti „Awk“ naudoti kitą simbolį, naudodamiesi vėliava -F (arba – lauko-separatorius), kad „Awk“ suteiktų skirtingą lauko skiriamąjį ženklą. / Etc / passwd atveju norėtume naudoti „:“ ženklą.

Atsižvelgiant į skiriamąjį ženklą, Awk pirmąjį lauką priskiria kintamajam $ 1, antrąjį – kintamajam $ 2 ir pan. Visa eilutė priskiriama 0 USD. Jei tai atrodo pažįstama, gali būti, kad būtent taip „Bourne“ ir „Bash“ apvalkalo scenarijai valdo komandinės eilutės parametrus.

Nors „Awk“ scenarijus galima sudėti į failus, paprastai jie tiesiog įdedami į komandų eilutę kaip „Awk“ komandos dalis. Čia yra paprasta „awk“ komanda, kuri išves visus vartotojų ir tikrus paskyrų, išvardytų faile / etc / passwd, vardus:

awk -F: ” / etc / passwd

Tai duotų šią išvestį iš aukščiau pateikto mūsų pavyzdžio / etc / passwd:

administratorius administratorius
brianas Brianas Kernighanas

Tai beveik tokia pati paprasta „Awk“ programa. Bet jūs tikriausiai matote, kad vien tai yra labai galinga. Dažnai žmonės tokį failą įtraukia į skaičiuoklę, ištrina nereikalingus stulpelius ir išsaugo rezultatą kaip naują tekstinį failą. Tai sudėtinga, kai tą patį galite padaryti su „Awk“ per kelias sekundes. Ir tai tik pradžia. Galite nustatyti, kad išvestis būtų sąlyginė; galite visiškai kontroliuoti išėjimą; jei turite reikalų su skaitmeniniais duomenimis, galite juos apskaičiuoti; ir dar daugiau.

Awk ištekliai

Awk yra labai lengva išmokti kalbą. Ir tam reikia daug išteklių. Aptarsime keletą žemiau.

Mokymai internetu

Žemiau yra keletas vadovėlių, kurie prasideda pačioje pradžioje ir supažindina su svarbiausiais kalbos aspektais. Kuris jums labiausiai pravers, priklausys nuo jūsų.

  • „Grymoire Awk“ pamoka: tai yra puikus Bruce’o Barnetto įvadas į „Awk“. Peržiūrėkite visus šiuos „Unix“ vadovus.
  • Bendros gijos: „Awk pagal pavyzdį“: tai „IBM“ sukurta priemonė, suteikianti neskausmingą būdą išmokti „Awk“. Po to, kai baigsite darbą, būtinai patikrinkite 2 dalį.
  • „Awk“ pamoka: tai „Awk“ mokymo programos „Įvadas“ įžanga, kurioje netgi atsisiųskite ir įdiekite „Linux“ kompiuteriuose..
  • „Awk Primer“: ši pamoka vyksta gana greitai, tačiau jei jums patogu naudoti apvalkalo scenarijus arba anksčiau naudojote „Awk“, tai yra geras pasirinkimas.

Knygos

Yra daugybė gerų knygų, kurios suteikia „Awk“ pagrindą.

  • Aho ir Kernighano „Awk“ programavimo kalba: tai originali knyga apie „Awk“. Tačiau skirtingai nuo daugelio tokių originalių kūrėjų knygų, ši knyga yra tikrai gera ir lengvai suprantama.
  • Sed & „Awk“ pateikė Dougherty ir Robbinsas: tai klasika, nagrinėjanti „Awk“, taip pat srauto redaktorių (sed). Jie abu dažnai naudojami kartu. Taip pat domina „Sed“ ir „Awk: Pocket Reference“, kai jums patogu naudotis sistemomis.
  • AWK programavimas: George’o Duckett’o klausimai ir atsakymai: tai yra įdomi knyga „Kindle“, kuri yra daugiau ar mažiau kulinarinė knyga. Tai apima daug puikių klausimų, kurie praplės jūsų požiūrį į Awk ir būdus, kurie, jūsų manymu, gali būti naudojami.
  • Efektyvus „awk“ programavimas: universalus teksto apdorojimas ir šablonų derinimas, kurį sukūrė Arnoldas Robbinsas: tai tarsi „The Awk“ programavimo kalbos tęsinys. Čia gilinamasi į kalbą ir daugiausia dėmesio skiriama „Awk“, „Gawk“ „Gnu“ versijai.

Awk įgyvendinimai

Nuo pirmojo 1977 m. Buvo įdiegta daugybė „Awk“. Tiesą sakant, 1985 m. (Prieš paskelbiant „Awk“ programavimo kalbą) „Awk“ buvo labai išplėsta. Ta versija dažnai vadinama „nauja Awk“ arba „nawk“. Šiuo metu yra keletas populiaresnių versijų.

  • „Gawk“: tai yra „Gnu“ projekto „Awk“ įgyvendinimas. Tai ypač populiari ir palaiko kitas kalbas geriau nei kitas versijas.
  • BWK: tai yra „viena tiesa Awk“, nes ji naudojama „The Awk Programming Lanuage“. Jis yra plačiai naudojamas FreeBSD.
  • „Mawk“: tai versija, kurią iš pradžių parašė Mike’as Brennanas, tačiau nuo 2009 m. Ją prižiūrėjo ir atnaujino Thomas Dickey. Daugiausia dėmesio skiriama greičiui.
  • „BusyBox“: tai yra bendras įrankis, teikiantis daugybę supaprastintų „Unix“ įrankių, įskaitant „Awk“.

Internetiniai forumai

Kartais tereikia užduoti klausimus. Internete yra daugybė žmonių, kurie gerai pažįsta „Awk“. Čia yra keletas geresnių vietų, į kurias reikia kreiptis, kad atsakytumėte į jūsų klausimus.

  • „Comp.lang.awk“ „Google“ grupė: tai gana aktyvus forumas, kurį verta patikrinti.
  • Klausimai dėl perpildytų „Awk“ klausimų: tai yra naujausių klausimų, pažymėtų kaip susijusių su „Awk“, puslapis. Tai puiki nuoroda ir vieta, kur galite užduoti savo klausimus.
  • „Awk Reddit“: tai yra „Awk“ subreditas. Tai nėra siaubingai aktyvu, tačiau aplinkui yra daugybė išmanančių žmonių, todėl tinkama vieta atsakyti į klausimus.

Santrauka

„Awk“ yra puiki kalba teksto apdorojimui. Ir tai gali padaryti nuostabių dalykų, jei norite perkelti kalbą pakankamai toli. Tuo pačiu metu sintaksė yra pakankamai paprasta, kad ji greitai taptų jūsų darbo įrankių rinkinio dalimi. Čia pateikti ištekliai turėtų suteikti jums visą reikalingą pagalbą.

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