Mësoni rreth Awk: Mjeti më i fuqishëm i përpunimit të tekstit ndonjëherë?

Disclosure: Mbështetja juaj ju ndihmon të mbani sitin në punë! Ne fitojmë një tarifë referimi për disa nga shërbimet që rekomandojmë në këtë faqe.


Awk është mjeti më i madh për përpunimin e tekstit që nuk e dini se keni nevojë. Por nëse punoni me shumë të dhëna, me siguri keni menduar gjëra të tilla si: “Do të ishte vërtet mirë të nxirrni kolonën e dytë dhe të pestë të të dhënave nga kjo tabelë.” Dhe kjo, në formën më të thjeshtë, është ajo që bën Awk.

Një histori e vogël

Në ditët para se shumica e njerëzve e dinin se çfarë ishte një bazë e të dhënave relacionale – dhe pothuajse dy dekada përpara zhvillimit të MySQL – një pjesë e madhe e të dhënave u ruajtën në skedarët e tekstit. E vërteta është, shumë të dhëna akoma ruhen në atë mënyrë. Kjo është veçanërisht e vërtetë për sistemet operative Unix. Për shembull, skedari Unix / etc / passwd është vetëm një skedar teksti me një rresht për secilin përdorues në sistem, dhe secila fushë për përdoruesin e ndarë nga një zorrë e trashë. Për shembull:

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

Në sistemet e mëdha, skedarë të tillë passwd mund të përmbajnë mijëra linja. Mund të imagjinoni se mund të ketë raste kur dëshironi një listë të plotë të emrave të njerëzve me llogari në kompjuterin tuaj. Në këtë rast, kjo do të ishte fusha e 5-të. Kështu që në 1977, tre programues krijuan një program të përgjithshëm për ta bërë atë. Ata ishin: Alfred Aho, Peter Weinberger dhe Brian Kernighan. Dhe inicialet e tyre AWK është se si Awk mori emrin e saj.

Shembull awk

Si parazgjedhje, Awk supozon se fushat ndahen nga karakteret e hapësirës. Por mund t’i thoni Awk-ut që të përdorë një karakter tjetër duke përdorur flamurin -F (ose –fushues-ndarës) për t’i dhënë Awk një ndarës të fushës tjetër. Në rastin e / etc / passwd, ne do të dëshironim të përdorim karakterin “:”.

Duke pasur parasysh karakterin e ndarësit, Awk cakton fushën e parë në ndryshoren $ 1, fushën e dytë me variablin 2 $, etj. E gjithë linja i është caktuar 0 $. Nëse kjo duket e njohur, mund të jetë sepse kjo është mënyra se si skriptet e guaskës Bourne dhe Bash menaxhojnë parametrat e linjës komanduese.

Edhe pse skriptet Awk mund të futen në skedarë, ato zakonisht vendosen vetëm në vijën e komandës si pjesë e komandës Awk. Këtu është një komandë e thjeshtë awk që do të nxjerrë të gjithë përdoruesit dhe emrat e vërtetë të llogarive të listuara në skedarin / etc / passwd:

awk -F: ” / etc / passwd

Kjo do të prodhonte rezultatin e mëposhtëm nga skedari shembulli ynë / etj / passwd më lart:

administratori administratori
Brian Kernighan

Ky është gati aq i thjeshtë sa një program Awk sa ekziston. Por ju ndoshta mund të shihni se kjo vetëm është shumë e fuqishme. Shpesh, njerëzit do ta kenë të rëndësishëm një skedar të tillë në një spreadsheet, fshijnë kolonat e padëshiruara dhe pastaj ruajnë rezultatin si një skedar të ri teksti. Shtë e rëndë kur mund të bësh të njëjtën gjë me Awk në disa sekonda. Dhe ky është vetëm fillimi. Ju mund ta bëni prodhimin të kushtëzuar; ju mund të kontrolloni plotësisht prodhimin; nëse keni të bëni me të dhëna numerike, mund të bëni llogaritjet mbi të; dhe shumë më tepër.

Burimet e zgjuar

Awk është një gjuhë shumë e thjeshtë për tu mësuar. Dhe ka shumë burime për ta bërë atë vetëm. Do të kalojmë disa më poshtë.

Tutoriale Online

Më poshtë janë një sërë mësimesh që fillojnë në fillim, dhe ju marrin përsipër aspektet më të rëndësishme të gjuhës. Cila nga ju e shihni më të dobishme do të varet nga ju.

  • Grymoire Awk Tutorial: ky është prezantimi i shkëlqyeshëm i Bruce Barnett në Awk. Shikoni të gjitha këto mësime të Unix.
  • Fijet e zakonshme: Awk by Shembull: kjo është nga IBM dhe ofron një mënyrë pa dhimbje për të mësuar Awk. Sigurohuni që të kontrolloni Pjesën 2 pasi të keni përfunduar me të.
  • Tutorial Awk: ky është prezantimi i Tutorials Point në Awk që ju merr madje edhe përmes shkarkimit dhe instalimit të tij në makinat Linux.
  • Një Primer Awk: ky mësimdhënie shkon mjaft shpejt, por nëse jeni të kënaqur me skriptimin e predhave ose keni përdorur Awk në të kaluarën, është një zgjedhje e mirë.

Librat

Ka një numër librash të mirë që japin një themel për Zgjimin.

  • Gjuha e Programimit Awk nga Aho dhe Kernighan: ky është libri origjinal në Awk. Por ndryshe nga shumica e librave të tillë nga zhvilluesit origjinal, ky është me të vërtetë i mirë dhe i lehtë për t’u kuptuar.
  • sed & Awk nga Dougherty dhe Robbins: kjo është një klasik që merret me Awk, si dhe me redaktorin e rrjedhës (sed). Të dy shpesh përdoren së bashku. Gjithashtu me interes është Sed dhe Awk: Pocket Reference pasi të jeni të kënaqur me sistemet.
  • Programimi AWK: Pyetje dhe përgjigje nga George Duckett: ky është një libër interesant Kindle që është pak a shumë libër gatimi. Ai përfshin shumë pyetje të shkëlqyera që do të zgjerojnë mënyrën si mendoni për Awk dhe mënyrat me të cilat mendoni se mund të përdoret.
  • Programim efektiv i zgjimit: Përpunimi Universal i Teksteve dhe përputhja e modeleve nga Arnold Robbins: kjo është një lloj si një vazhdim i Lanuage Programimit Awk. Ai futet më thellë në gjuhë dhe përqendrohet në versionin Gnu të Awk, Gawk.

Implementimet e Awk

Ka pasur një sërë implementimesh Awk që nga e para në 1977. Në fakt, në vitin 1985 (përpara se të botohej Gjuha e Programimit Awk), Awk u zgjerua në masë të madhe. Ky version shpesh quhet “Awk i ri” ose nawk. Ka disa prej versioneve më të njohura aktualisht në dispozicion.

  • Gawk: ky është zbatimi i Projektit Gnu Awk. Extremelyshtë jashtëzakonisht popullor dhe mbështet gjuhë të tjera më mirë se versionet e tjera.
  • BWK: kjo është “e vetmja e vërtetë Awk”, pasi është ajo që përdoret për Lanuage të Programimit të Awk. Përdoret gjerësisht në FreeBSD.
  • Mawk: ky është një version i shkruar fillimisht nga Mike Brennan, por mirëmbahet dhe azhurnuar nga Thomas Dickey që nga viti 2009. Fokusi është në shpejtësinë.
  • BusyBox: ky është mjet i përgjithshëm që ofron një numër mjetesh të thjeshtuara Unix, përfshirë Awk.

Forumet Online

Ndonjëherë, thjesht duhet të bëni pyetje. Dhe ka shumë njerëz në internet që e njohin mirë Awk. Këtu janë disa nga vendet më të mira për t’u përgjigjur pyetjeve tuaja.

  • Comp.lang.awk Google Group: ky është një forum relativisht aktiv që ia vlen ta kontrolloni.
  • Pyetjet e Awkit të Mbingarkesës Stack: kjo është një faqe e pyetjeve më të reja që janë etiketuar se kanë të bëjnë me Awk. Shtë një referencë dhe vend i shkëlqyeshëm për të shtruar pyetjet tuaja.
  • Awk Reddit: ky është subreddit për Awk. Nuk është jashtëzakonisht aktive, por ka shumë njerëz me njohuri rreth tij, dhe është një vend i mirë për t’iu përgjigjur pyetjeve.

përmbledhje

Awk është një gjuhë e shkëlqyeshme për përpunimin e tekstit. Dhe mund të bëjë gjëra të mahnitshme nëse doni ta shtyni gjuhën sa duhet. Në të njëjtën kohë, sintaksa është mjaft e thjeshtë, që shpejt mund të bëhet pjesë e grupit tuaj të mjeteve të punës. Burimet e paraqitura këtu duhet t’ju ofrojnë gjithë ndihmën që ju nevojitet.

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