At the end of last month ibinahagi namin dito sa blog ang balita na Brian Kernighan, isa sa mga tagalikha ng AWK ay nakumpirma na nagpapatuloy sa likod ng AWK code, pagbibigay ng suporta at pagpapabuti ng wikang ito sa pagpoproseso (maaari kang sumangguni sa balita sa ang sumusunod na link.)
Ang dahilan ng pagbanggit nito ay kamakailan lamang isang bagong bersyon ng pagpapatupad ng GNU-Gawk ang inilabas 5.2.0, ng AWK programming language.
Ang AWK ay binuo noong 70s at hindi dumanas ng mga makabuluhang pagbabago mula noong kalagitnaan ng 80s, nang tinukoy ang pangunahing gulugod ng wika, na naging posible upang mapanatili ang orihinal na katatagan at pagiging simple ng wika sa paglipas ng panahon at sa paglipas ng panahon. mga dekada.
Ang AWK ay isa sa mga unang console utility sikat sa pamamahala (paghawak/pag-extract) ng data sa pamamagitan ng pag-maximize sa functionality ng UNIX pipelines. Ang wikang ibinibigay ng utility na ito ay kasalukuyang isang pamantayan sa halos lahat ng modernong UNIX-type na operating system, kaya't ito ay bahagi ng mga pangunahing pagtutukoy ng UNIX, kaya't ito ay karaniwang matatagpuan na naka-install sa karamihan sa mga ito bilang default.
Sa kabila ng kanyang katandaan, aktibong ginagamit pa rin ng mga admin ang AWK upang magsagawa ng nakagawiang gawain na nauugnay sa pag-parse ng iba't ibang uri ng mga text file at pagbuo ng mga simpleng resultang istatistika.
Ang command na ito ay nagbibigay ng scripting language para sa pagpoproseso ng text kung saan maaari naming: Tukuyin ang mga variable, gumamit ng mga string at arithmetic operator, gumamit ng kontrol sa daloy at mga loop, at bumuo ng mga naka-format na ulat. Sa totoo lang, ang Awk ay higit pa sa isang simpleng pattern processing command, ito ay isang buong semantic analysis na wika.
Pangunahing bagong tampok ng GNU Awk 5.2
Sa bagong bersyon na ito na ipinakita, ito ay naka-highlight na nagdagdag ng pang-eksperimentong suporta para sa pma memory manager (persistent malloc), na nagbibigay-daan sa iyong i-save ang mga value ng mga variable, array, at function na tinukoy ng user sa pagitan ng iba't ibang run ng awk.
Ang isa pang pagbabago na namumukod-tangi sa bagong bersyon ay iyon binago ang lohika ng paghahambing ng mga numero, na umaayon sa lohika na ginamit sa wikang C. Para sa mga user, pangunahing nakakaapekto ang pagbabago sa paghahambing ng mga halaga ng Infinity at NaN na may mga regular na numero.
Bilang karagdagan diyan, din ito ay nabanggit na ang kakayahang gamitin ang FNV1-A hash function sa associative arrays ito ay pinagana sa pamamagitan ng pagtatakda ng AWK_HASH environment variable sa "fnv1a".
Sa BWK mode, ang pagtukoy sa “–tradisyonal” na flag bilang default ay nagbibigay-daan sa pagiging tugma sa dating kasamang mga expression ng hanay na may opsyong “-r” (“–re-interval”).
Ang rwarray extension ay nagbibigay ng mga bagong writeall() at readall() function para isulat at basahin ang lahat ng variable at arrays nang sabay-sabay.
Bilang karagdagan dito, suporta para sa high-precision na arithmetic, ay ipinatupad gamit ang MPFR library, bilang karagdagan sa inalis mula sa GNU Awk maintainer responsibility at inilipat sa isang third party enthusiast. Napansin na ang pagpapatupad ng MPFR mode ng GNU Awk ay itinuturing na isang bug. Sa kaganapan ng isang patuloy na pagbabago ng estado, ito ay binalak na ganap na alisin ang tampok na ito mula sa GNU Awk.
Sa iba pang mga pagbabago tumayo mula sa bagong bersyon na ito:
- Na-update na mga bahagi ng imprastraktura ng build Libtool 2.4.7 at Bison 3.8.2.
- Inalis ang suporta para sa pag-compile sa CMake (ang suporta sa code para sa CMake ay hindi in demand at hindi na-update sa loob ng limang taon).
- Idinagdag ang function na mkbool() upang lumikha ng mga boolean na halaga na mga numero, ngunit itinuturing bilang isang uri ng boolean.
- Nagdagdag ng gawkbug script para mag-ulat ng mga bug.
- Ang instant shutdown ay ibinibigay sa mga error sa syntax, paglutas ng mga isyu gamit ang mga fuzzing tool.
- Nagkaroon ng maraming menor de edad na paglilinis ng code at pag-aayos ng bug.
- Inalis na ang suporta para sa OS/2 at VAX/VMS operating system.
Sa wakas, kung interesado kang malaman ang tungkol dito, maaari mong suriin ang mga detalye Sa sumusunod na link.