runawk

Programinė įranga Screenshot:
runawk
Programinė detalės:
Versija: 1.5.0
Įkėlimo datą: 19 Feb 15
Kūrėjas: Aleksey Cheusov
Licencija: Nemokamai
Populiarumas: 76

Rating: 1.0/5 (Total Votes: 1)

runawk yra maža, įvynioti į Awk vertėjo, kad impements modulio sistemą ir padeda rašyti standalone Awk programas.
MOTYVACIJA
Po metų naudojant Awk programavimo Radau, kad, nepaisant
jos paprastumas ir apribojimai AWK yra pakankamai gera skriptus pločio
asortimentas įvairių užduočių. AWK nėra taip poweful pat jų didesni
kolegos, kaip Perl, Ruby, TCL ir kitiems, bet ji turi savo
privalumai, pavyzdžiui, kompaktiškumo, paprastumo ir prieinamumo beveik visas
Unix sistemos. Aš asmeniškai taip pat norėčiau savo duomenų varoma pobūdį ir
raktas orientacijos, labai naudinga technika paprastą teksto apdorojimo
komunalinių paslaugų.
Bet! Deja awk žodžiu trūksta kai kurių svarbių funkcijų ir
kartais dirba ne taip gerai, kaip Balsas būti.
Kai kurios problemos matau (kai kurie iš jų, žinoma).
1) AWK trūksta paramos modulius. Net jei aš sukurti mažas programas, aš
dažnai norite naudoti funkcijas, sukurtus anksčiau ir jau naudojamas
kitas scenarijus. Tai yra, jis Balsas puikus orginise funkcijas į
vadinamasis bibliotekos (moduliai).
2) Siekiant išlaikyti argumentus #! / Usr / bin / Awk -f scenarijų (ne Awk
interpretatorius), ji yra būtina prepand iš sąrašo
argumentus, - (du minus ženklai). Mano nuomone, tai atrodo blogai.
Pavyzdys:
awk_program:
& Nbsp; & nbsp; & nbsp; #! / Usr / bin / Awk -f
& Nbsp; & nbsp; & nbsp; BEGIN {
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; (i = 1; i & Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; printf "argv [% d] =% s" i argv [i]
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; }
& Nbsp; & nbsp; & nbsp; }
"Shell" sesija:
& Nbsp; & nbsp; & nbsp; % Awk_program --opt1 --opt2
& Nbsp; & nbsp; & nbsp; / Usr / bin / Awk: nežinoma galimybė --opt1 ignoruojami
& Nbsp; & nbsp; & nbsp; / Usr / bin / Awk: nežinoma galimybė --opt2 ignoruojami
& Nbsp; & nbsp; & nbsp; % Awk_program - --opt1 --opt2
& Nbsp; & nbsp; & nbsp; Argv [1] = - opt1
& Nbsp; & nbsp; & nbsp; Argv [2] = - opt2
& Nbsp; & nbsp; & nbsp; %
Mano nuomone awk_program scenarijų turėtų dirbti kaip šis (kaip
normalus programas padaryti)
& Nbsp; & nbsp; & nbsp; % Awk_program --opt1 --opt2
& Nbsp; & nbsp; & nbsp; Argv [1] = - opt1
& Nbsp; & nbsp; & nbsp; Argv [2] = - opt2
& Nbsp; & nbsp; & nbsp; %
Tai įmanoma naudojant runawk.
3) Kai #! / Usr / bin / Awk -f scenarijų rankenos argumentus (Parinktys) ir nori
skaityti iš stdin, ji yra būtina pridėti
/ Dev / stdin (arba "-"), kaip paskutinio argumento explicitely.
Pavyzdys:
awk_program:
& Nbsp; & nbsp; & nbsp; #! / Usr / bin / Awk -f
& Nbsp; & nbsp; & nbsp; BEGIN {
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; jei (argv [1] == "--flag") {
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; vėliava = 1
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Argv [1] = "#, kad negali skaityti failą, pavadintą" --flag "
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; }
& Nbsp; & nbsp; & nbsp; }
& Nbsp; & nbsp; & nbsp; {
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; print "vėliava =" vėliava "$ 0 =" $ 0
& Nbsp; & nbsp; & nbsp; }
"Shell" sesija:
& Nbsp; & nbsp; & nbsp; % Aidas bandymas | awk_program - --flag
& Nbsp; & nbsp; & nbsp; % Aidas bandymas | awk_program - --flag / dev / stdin
& Nbsp; & nbsp; & nbsp; vėliava = 1 $ 0 = testas
& Nbsp; & nbsp; & nbsp; %
Geriausia awk_program turėtų dirbti, kaip tai
& Nbsp; & nbsp; & nbsp; % Aidas bandymas | awk_program --flag
& Nbsp; & nbsp; & nbsp; vėliava = 1 $ 0 = testas
& Nbsp; & nbsp; & nbsp; %
Visi šie probles sprendžiami runawk ir tai, kodėl parašiau jį.
Aš taip pat kelis modulius runawk paskirstymą, kurie yra
naudinga man, ir aš tikiuosi, kad bus naudinga jums taip pat.
ĮRENGIMAS
0) BSD makiažo nereikia. Aš pavadinti tai tiesiog "padaryti", bet jo tikrasis vardas gali
& Nbsp; & nbsp; skirtis. & nbsp; bmake ir pmake galimi pavadinimai.
& Nbsp; & nbsp; Jei jums reikia pakeisti numatytąjį kūrimo galimybes,
& Nbsp; & nbsp; paleisti, kad, kaip tai
& Nbsp; & nbsp; & nbsp; & nbsp; ENV [YOUR_ASSIGNMENTS] padaryti
& Nbsp; & nbsp; Žiūrėti pavyzdį skyrių žemiau
1) išpakuoti tar jūs įkėlėte, kaip tai
& Nbsp; & nbsp; gzip -DC runawk-X Y Z.tar.gz | deguto -xf-
2) cd runawk-X-Y-Z
3) atlikti
4) (neprivaloma!), Kad install-dirs
5) make install
Yra makefile kintamųjų daug, kad gali būti pakeistas per
. instaliacija, & nbsp; Runawk nuosavos kintamieji (Visi jie yra iš pradžioje
Makefile):
& Nbsp; PREFIKSAS & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; - Kai runawk yra įdiegta
& Nbsp; MODULESDIR & nbsp; & nbsp; & nbsp; & nbsp; - Katalogas, kur moduliai įrengiami
& Nbsp; AWK_PROG & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; - Kelias į awk vertėją
& Nbsp; STDIN_FILENAME - kelias į STDIN įrenginio failo
BSD Padaryti anketa kintamieji (dažniausiai naudojami,
visiems kitiems - matyti, kad dokumentaciją ir .mk failus)
& Nbsp; BINDIR - kai runawk vykdomąjį pati įdiegta
& Nbsp; Mandir - kai man puslapiai yra įdiegta
& Nbsp; BINOWN - runawk vykdomąjį savininką
& Nbsp; BINGRP - runawk vykdomąjį grupę
& Nbsp; MANOWN - vyras puslapis savininkas
& Nbsp; MANGRP - vyras puslapis grupė
Pavyzdys:
& Nbsp; & nbsp; ENV CK = gcc
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Prefix = / home / cheusov / vietinis
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; LDFLAGS = '- L / usr / PKG / lib -Wl, -rpath -Wl, / usr / PKG / lib "
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; LDADD = -lextralib
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; CFLAGS = '- Werror Wall "
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; CPPFLAGS = -Aš / usr / PKG / include
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; BINOWN = cheusov
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; BINGRP = vartotojams
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; MANOWN = cheusov
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; MANGRP = vartotojams
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; MKCATPAGES = ne
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; padaryti -s visi install-dirs įdiegti

Kas naujo , šioje laidoje:

  • parinktys -i, -I ir visi ilgai variantai buvo visiškai pašalinta.

  • variantas -T buvo pridėta skirtukų įėjimo.
  • variantas -v yra dokumentuoti žinyno puslapyje.
  • Išspręsti Persijos įlankos sudarymo įspėjimus.
  • Ištaisyta rengimo su ne tuščias MAKEOBJDIR.
  • Typo pataisymai naujame, runcmd.awk ir žmogaus puslapiuose.

Kas naujo versijos 1.4.4:

  • šalinant pakatalogius į laikiną katalogą klaidą buvo fiksuotas.
  • Patobulinimai skirti runawk_modules.3.

Kas naujo versijos 1.4.3:

  • paexec (1) nenaudoja sistema ( 3) daugiau šalinant laikiną katalogą.
  • funkcija print_help () buvo perkeltas iš power_getopt.awk modulio init_getopt.awk.

Kas naujo versijos 1.4.2:

  • Ši versija prideda runawk_modules.3 kur visi moduliai yra dokumentais, deprecates ilgas galimybes, pašalina -i ir -I galimybes, ir apima žmogaus puslapių paskirstymo archyve taip pod2man nereikia statybos.

Kas naujo versijos 1.4.0:

  • Be exitnow.awk, exitnow (statusas) funkcija dabar baigia scenarijaus vykdymą nesukeldama END skyriai, net jei padėtis == 0.
  • Naujas modulis io.awk apima funkcijas is_ {failo, rež, exec, lizdas, FIFO, blockdev, chardev, simbolinę} FILE_SIZE ir FILE_TYPE. tokenre.awk turi naują funkciją splitre0 ().

Kas naujo 1.3.2 versija:

  • Vidaus matricos yra dabar persikėlė automatiškai. Tai nustato panaudoti runawk (1) kartu su xargs (1), pvz, kačių files.txt |. Xargs runawk-e "..."

Kas naujo 1.3.0 versija:

  • už Intel C kompiliatorius įspėjimo pranešimą nustatyti.
  • už funkcija shquote (fiksuoti) iš modulių / shquote.awk.
  • kodo projekto buvo reorganizuota, todėl galima lengvai įrengti bet Subprojektas:. Pavyzdžius, modulius, runawk, alt_getopt ir doc (TODO, README kt failai)

Kas naujo versijos 1.1.0:

  • -F galimybė buvo įtraukta
  • Nauji ord.awwas ftrans_in.awk ir buvo įtraukti glob.awk moduliai.
  • Naujas alt_getopt vykdomąjį buvo įtraukti analizuojant trumposios ir ilgosios galimybes apvalkalo scenarijus.
  • Nauja min3, min4, min5, min_key, MIN_VALUE ir key_of_min_value (min.awk) ir max3, max4, max5, max_key, max_value ir key_of_max_value buvo pateikta (max.awk) funkcijas.
  • Nauji mėginiai buvo pridėta:. Pavyzdžiai / demo_minmax pavyzdžiai / demo_tokenre3 pavyzdžiai / demo_ftrans pavyzdžiai / demo_glob *
  • nauja funkcija buvo įtraukta į multisub.awk.
  • Nedideli patobulinimai buvo atlikti montavimo tvarka.

Kas naujo versija 0.16.0:

  • buvo sukurta daugybė demo programas daugumai runawk moduliai ir jie pavyzdžiai / pakatalogį dabar. Nauja MEGA modulis;-) power_getopt.awk ieškokite dokumentacijoje ir demo programa pavyzdžiai / demo_power_getopt. Tai daro parinktis tvarkymo tikrai paprasta. Nauja moduliai: embed_str.awk has_suffix.awk has_prefix.awk readfile.awk modinfo.awk Nedideli pataisymai ir patobulinimai dirname.awk ir basename.awk. Dabar jie yra visiškai suderinama su dirname (1) ir BaseName (1) RUNAWK nustato šiuos aplinkos kintamuosius vaikų awk subproceso: RUNAWK_MODC - A modulių skaičius (-f filename) perduota Awk RUNAWK_MODV_ - visą kelią į modulio # n , kur n yra [0..RUNAWK_MODC) diapazone. RUNAWK nustato RUNAWK_ART_STDIN aplinkos kintamąjį už vaiko awk subproceso 1, jei papildomas / dirbtinis "-" buvo pridėti prie Awk argumentų sąrašo. Makefile: bmake-izmas buvo ištrintas. Dabar Makefile yra visiškai suderinamas su FreeBSD markė. CLEANFILES tikslas yra naudojamas vietoj rankų taisyklės Mažosios Fix "test_all" tikslas

Panaši programinė įranga

Stratego/XT
Stratego/XT

3 Jun 15

Smake
Smake

20 Feb 15

Tcl/Tk
Tcl/Tk

20 Jan 18

Kita programinė įranga kūrėjas Aleksey Cheusov

DictEm
DictEm

20 Feb 15

LMDBG
LMDBG

20 Feb 15

mk-configure
mk-configure

20 Feb 15

Komentarai runawk

Komentarai nerastas
Pridėti komentarą
Pasukite ant paveikslėlio!