Krajem prošlog mjeseca podijelili smo ovdje na blogu vijest da Brian Kernighan, jedan od tvoraca AWK-a to potvrdio nastavlja se iza AWK koda, dajući podršku i poboljšavajući ovaj jezik za obradu (možete pogledati vijesti u sljedeći link.)
Razlog za ovo spominjanje je taj što je nedavno objavljena je nova verzija GNU-Gawk implementacije 5.2.0, programskog jezika AWK.
AWK je razvijen 70-ih i nije doživio značajne promjene od sredine 80-ih, kada je definirana glavna okosnica jezika, što je omogućilo održavanje izvorne stabilnosti i jednostavnosti jezika tijekom vremena i tijekom vremena. desetljeća.
AWK je bio jedan od prvih uslužnih programa za konzole popularan za upravljanje (rukovanje/izvlačenje) podataka maksimiziranjem funkcionalnosti UNIX cjevovoda. Jezik koji nudi ovaj uslužni program trenutno je standard u gotovo svim modernim operativnim sustavima tipa UNIX, toliko da je dio osnovnih UNIX specifikacija, tako da se obično nalazi već instaliran u većini njih prema zadanim postavkama.
Unatoč poodmakloj dobi, administratori još uvijek aktivno koriste AWK za obavljanje rutinskog rada vezanog uz analizu raznih vrsta tekstualnih datoteka i generiranje jednostavnih rezultirajućih statistika.
Ova naredba pruža skriptni jezik za obradu teksta s kojim možemo: definirati varijable, koristiti nizove i aritmetičke operatore, koristiti kontrolu toka i petlje, te generirati formatirana izvješća. Zapravo, Awk je više od obične naredbe za obradu uzorka, to je cijeli jezik semantičke analize.
Glavne nove značajke GNU Awk 5.2
U ovoj novoj verziji koja je predstavljena, to je istaknuto dodana eksperimentalna podrška za pma manager memorije (persistent malloc), koji vam omogućuje spremanje vrijednosti varijabli, nizova i korisnički definiranih funkcija između različitih pokretanja awk-a.
Još jedna od promjena koja se ističe u ovoj novoj verziji je ta promijenjena logika usporedbe brojeva, što je u skladu s logikom koja se koristi u jeziku C. Za korisnike, promjena uglavnom utječe na usporedbu Infinity i NaN vrijednosti s redovnim brojevima.
Uz to, također napominje se da mogućnost korištenja hash funkcije FNV1-A na asocijativnim nizovima omogućeno je postavljanjem varijable okoline AWK_HASH na "fnv1a".
U BWK načinu rada, navođenje zastavice "–traditional" prema zadanim postavkama omogućuje kompatibilnost s prethodno uključenim izrazima raspona s opcijom "-r" ("–re-interval").
Proširenje rwarray pruža nove funkcije writeall() i readall() za pisanje i čitanje svih varijabli i nizova odjednom.
Pored toga, podrška za aritmetiku visoke preciznosti, implementiran je uz korištenje MPFR knjižnice uklonjen iz odgovornosti održavatelja GNU Awk i prenijeti na trećeg entuzijasta. Napominje se da se implementacija MPFR načina GNU Awk-a smatra greškom. U slučaju dugotrajne promjene stanja, planirano je potpuno uklanjanje ove značajke iz GNU Awk-a.
Od ostalih promjena koji se ističu u ovoj novoj verziji:
- Ažurirane komponente infrastrukture za izgradnju Libtool 2.4.7 i Bison 3.8.2.
- Uklonjena podrška za kompajliranje s CMakeom (podrška koda za CMake nije bila tražena i nije ažurirana pet godina).
- Dodana je funkcija mkbool() za stvaranje Booleovih vrijednosti koje su brojevi, ali se tretiraju kao Boolean tip.
- Dodana gawkbug skripta za prijavu grešaka.
- Omogućeno je trenutno isključivanje u slučaju sintaktičkih pogrešaka, rješavanje problema pomoću alata za fuzzing.
- Došlo je do brojnih manjih čišćenja koda i ispravki grešaka.
- Podrška za operativne sustave OS/2 i VAX/VMS je uklonjena.
Konačno, ako vas zanima više o tome, možete provjeriti detalje U sljedećem linku.