runawk

Software kuvakaappaus:
runawk
Ohjelmiston tiedot:
Versio: 1.5.0
Lähetyksen päivämäärä: 19 Feb 15
Kehittäjä: Aleksey Cheusov
Lupa: Vapaa
Suosio: 76

Rating: 1.0/5 (Total Votes: 1)

runawk on pieni kääre AWK tulkki että impements -moduulijärjestelmä ja auttaa kirjoittamaan standalone AWK ohjelmia.
MOTIVAATIO
Vuosien jälkeen käyttää AWK ohjelmointia olen huomannut, että huolimatta
sen yksinkertaisuus ja rajoitukset AWK on tarpeeksi hyvä skriptauskielten laaja
erilaisia ​​tehtäviä. AWK ei ole niin poweful kuin niiden isompi
kollegansa kuten Perl, Ruby, TCL ja muut, mutta se on oma
etuja, kuten tiiviyttä, yksinkertaisuus ja saatavuus lähes kaikki
UNIX-tyyppisille käyttöjärjestelmille. Olen henkilökohtaisesti myös sen tiedot-odotuksiin ja
symbolinen suuntautuminen, erittäin hyödyllinen tekniikka yksinkertainen tekstinkäsittely
apuohjelmia.
Mutta! Valitettavasti awk tulkit puuttuu joitakin tärkeitä ominaisuuksia ja
joskus töihin ei niin hyvä kuin se whould olla.
Joitakin ongelmia näen (jotkut niistä, tietenkin).
1) AWK puuttuu tuki moduulit. Vaikka luon pieniä ohjelmia, I
haluavat usein käyttää toimintoja aiemmin luotu ja jo käytetty
skriptejä. Eli se whould hienoa orginise toiminnot voidaan
ns kirjastot (moduulit).
2) Jotta argumentteja #! / Usr / bin / awk -f skripti (ei awk
tulkki), on tarpeen prepand luettelon
argumentteja - (kaksi miinus Signes). Mielestäni tämä näyttää pahasti.
Esimerkki:
awk_program:
& Nbsp; & nbsp; & nbsp; #! / Usr / bin / awk -F
& Nbsp; & nbsp; & nbsp; BEGIN {
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; for (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 istunto:
& Nbsp; & nbsp; & nbsp; % Awk_program --opt1 --opt2
& Nbsp; & nbsp; & nbsp; / Usr / bin / awk: tuntematon vaihtoehto --opt1 huomiotta
& Nbsp; & nbsp; & nbsp; / Usr / bin / awk: tuntematon vaihtoehto --opt2 huomiotta
& Nbsp; & nbsp; & nbsp; % Awk_program - --opt1 --opt2
& Nbsp; & nbsp; & nbsp; Argv [1] = - OPT1
& Nbsp; & nbsp; & nbsp; Argv [2] = - OPT2
& Nbsp; & nbsp; & nbsp; %
Mielestäni awk_program käsikirjoituksen pitäisi toimia näin (aivan kuten
normaali ohjelmat eivät)
& Nbsp; & nbsp; & nbsp; % Awk_program --opt1 --opt2
& Nbsp; & nbsp; & nbsp; Argv [1] = - OPT1
& Nbsp; & nbsp; & nbsp; Argv [2] = - OPT2
& Nbsp; & nbsp; & nbsp; %
On mahdollista käyttää runawk.
3) Kun #! / Usr / bin / awk -f skripti käsittelee perustelut (vaihtoehdot) ja haluaa
lukea stdin, on tarpeen lisätä
/ Dev / vakiosyötteen (tai '-') viimeisenä argumentti eksplisiittisesti.
Esimerkki:
awk_program:
& Nbsp; & nbsp; & nbsp; #! / Usr / bin / awk -F
& Nbsp; & nbsp; & nbsp; BEGIN {
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; jos (argv [1] == "--flag") {
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; lippu = 1
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Argv [1] = "" # olemaan lukea tiedoston nimeltä "--flag"
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; }
& Nbsp; & nbsp; & nbsp; }
& Nbsp; & nbsp; & nbsp; {
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; print "lippu =" lippu "$ 0 =" 0 dollaria
& Nbsp; & nbsp; & nbsp; }
Shell istunto:
& Nbsp; & nbsp; & nbsp; % Echo testi | awk_program - --flag
& Nbsp; & nbsp; & nbsp; % Echo testi | awk_program - --flag / dev / stdin
& Nbsp; & nbsp; & nbsp; lippu = 1 $ 0 = testi
& Nbsp; & nbsp; & nbsp; %
Ihannetapauksessa awk_program pitäisi toimia näin
& Nbsp; & nbsp; & nbsp; % Echo testi | awk_program --flag
& Nbsp; & nbsp; & nbsp; lippu = 1 $ 0 = testi
& Nbsp; & nbsp; & nbsp; %
Kaikki nämä probles ratkaistaan ​​runawk ja siksi olen kirjoittanut sen.
Olen myös muutamia moduuleja runawk jakelu, jotka ovat
hyödyllinen minulle ja toivon olevan hyötyä myös teille.
Asennus
0) BSD make tarvitaan. Nimeän se vain "tehdä", vaan sen oikea nimi voi
& Nbsp; & nbsp; vaihtelevat. & nbsp; BTee ja pmake ovat mahdollisia nimiä.
& Nbsp; & nbsp; Jos haluat muuttaa oletuksena rakennus vaihtoehtoja,
& Nbsp; & nbsp; ajaa tehdä näin
& Nbsp; & nbsp; & nbsp; & nbsp; ENV [YOUR_ASSIGNMENTS] tehdä
& Nbsp; & nbsp; Katso esimerkki osiosta
1) Pura tarrapallon olet ladannut näin
& Nbsp; & nbsp; gzip -DC runawk-X-Y-Z.tar.gz | tar -xf-
2) cd runawk-X-Y-Z
3) tehdä
4) (lisävaruste!) Make install-dirs
5) make install
On paljon Makefile muuttujia, jotka voidaan muuttaa käytön aikana
asennus. & nbsp; Runawk oma muuttujat (Kaikki ne ovat alussa, on
Makefile):
& Nbsp; ETULIITE & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; - Jossa runawk on asennettu
& Nbsp; MODULESDIR & nbsp; & nbsp; & nbsp; & nbsp; - Hakemisto jossa moduulit on asennettu
& Nbsp; AWK_PROG & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; - Polku awk tulkki
& Nbsp; STDIN_FILENAME - polku stdin laitetiedostoon
BSD make: n muuttujat (yleisimmin käytetty,
kaikille muille - katso make ohjeista ja .mk tiedostot)
& Nbsp; BINDIR - jos runawk executable itse on asennettu
& Nbsp; Mandir - jos manuaalisivuja on asennettu
& Nbsp; BINOWN - runawk suoritettavan omistaja
& Nbsp; BINGRP - runawk suoritettavan ryhmä
& Nbsp; MANOWN - mies sivun omistajan
& Nbsp; MANGRP - mies sivuryhmää
Esimerkki:
& Nbsp; & nbsp; ENV CC = gcc
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; ETULIITE = / home / cheusov / paikallinen
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; LDFLAGS = '- L / usr / pkt / lib -Wl, -rpath -Wl, / usr / pkt / lib "
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; LDADD = -lextralib
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; CFLAGSeille = '- Werror -Wall "
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; CPPFLAGS = -I / usr / pkt / include
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; BINOWN = cheusov
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; BINGRP = käyttäjät
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; MANOWN = cheusov
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; MANGRP = käyttäjät
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; MKCATPAGES = ei
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; tehdä -s kaikki install-dirs asentaa

Mitä uutta tässä julkaisussa:

  • vaihtoehdot -i, -I, ja kaikki pitkät vaihtoehtoja kokonaan poistettu.
  • vaihtoehto -T lisättiin välilehtiä tulo.
  • vaihtoehto -v on dokumentoitu man-sivulta.
  • Korjauksia gcc kokoelma varoituksia.
  • Korjauksia laatimisesta ei-tyhjä MAKEOBJDIR.
  • Typo korjauksia UUSI, runcmd.awk, ja man-sivut.

Mitä uutta versiossa 1.4.4:

  • bugi poistamalla alihakemistot väliaikaiseen hakemistoon oli kiinteä.
  • parannukset runawk_modules.3.

Mitä uutta versiossa 1.4.3:

  • paexec (1) ei käytä järjestelmää ( 3) enää poistamiseksi väliaikaiseen hakemistoon.
  • toiminto print_help () siirrettiin power_getopt.awk moduulin init_getopt.awk.

Mitä uutta versiossa 1.4.2:

  • Tämä versio lisää runawk_modules.3 jossa kaikki moduulit ovat dokumentoitu, vähättelemään pitkä vaihtoehtoja, poistaa -i ja -En vaihtoehtoja, ja se sisältää miehen sivut jakelu pakettia niin pod2man ei tarvita rakentamiseen.

Mitä uutta versiossa 1.4.0:

  • exitnow.awk, exitnow (tila) toiminto nyt lopettaa skriptin suorituksen suorittamatta päätyosiot vaikka tila == 0.
  • Uusi moduuli io.awk sisältää toiminnot is_ {tiedosto, dir, exec, socket, FIFO, blockdev, chardev, symlink} FILE_SIZE ja FILE_TYPE. tokenre.awk on uusi toiminto splitre0 ().

Mitä uutta versiossa 1.3.2:

  • Sisäinen paneelit ovat nyt siirtäneet automaattisesti. Tämä korjaa käyttö runawk (1) yhdistettynä xargs (1), esim kissa files.txt | xargs runawk -e "...".

Mitä uutta versiossa 1.3.0:

  • korjaus Intel C-kääntäjän varoitus.
  • korjaus toiminto shquote () moduuleista / shquote.awk.
  • lähdekoodi hanke on organisoitu uudelleen, mikä mahdollistaa helpon asennuksen tahansa osaprojektin: esimerkkejä, moduulit, runawk, alt_getopt ja doc (TODO, README jne tiedostot).

Mitä uutta versiossa 1.1.0:

  • -F vaihtoehto lisättiin.
  • Uusi ord.awwas ftrans_in.awk ja glob.awk moduulit olivat mukana.
  • Uusi alt_getopt suoritettavia sisällytettiin jäsentämiseen lyhyen ja pitkän vaihtoehtoja komentoriviskriptejä.
  • Uusi MIN3, min4, min5, min_key, MIN_VALUE ja key_of_min_value (min.awk), ja max3, max4, max5, max_key, max_value ja key_of_max_value (max.awk) toiminnot tarjottiin.
  • Uusi näytteet lisättiin: esimerkkejä / demo_minmax esimerkkejä / demo_tokenre3 esimerkkejä / demo_ftrans esimerkkejä / demo_glob *.
  • uusi ominaisuus lisättiin multisub.awk.
  • Pieniä parannuksia tehtiin asennuksen.

Mitä uutta versiossa 0.16.0:

  • Paljon demo ohjelmien useimmille runawk moduuleja luotiin ja ne ovat esimerkkejä / alihakemistoon nyt. Uusi MEGA moduuli;-) power_getopt.awk Katso asiakirjat ja demo-ohjelman esimerkkien / demo_power_getopt. Se tekee valinnat käsittelystä helppoa. Uusi moduulit: embed_str.awk has_suffix.awk has_prefix.awk readfile.awk modinfo.awk Pieniä korjauksia ja parannuksia dirname.awk ja basename.awk. Nyt ne ovat täysin yhteensopivia dirname (1) ja basename (1) RUNAWK asetetaan seuraavat ympäristömuuttujat lapselle awk osaprosessiin: RUNAWK_MODC - moduulien määrä (-f tiedostonimi) johdetaan AWK RUNAWK_MODV_ - Täysi polku moduuli #n , missä n on [0..RUNAWK_MODC) välillä. RUNAWK asettaa RUNAWK_ART_STDIN ympäristömuuttujaa lapsen awk osaprosessiin 1, jos ylimääräinen / keinotekoinen `-" lisättiin luetteloon awk väitteisiin. Makefile: BTee ismi poistettiin. Nyt Makefile on täysin yhteensopiva FreeBSD make. CLEANFILES kohde sijasta käytetään käsintehdyt sääntöjä pieni korjaus "test_all" tavoite

Vastaavia ohjelmistoja

Pharo
Pharo

20 Feb 15

Qg
Qg

11 May 15

Darning
Darning

20 Feb 15

Ubucompilator
Ubucompilator

12 May 15

Muu ohjelmistojen kehittäjä Aleksey Cheusov

paexec
paexec

20 Feb 15

LMDBG
LMDBG

20 Feb 15

DictEm
DictEm

20 Feb 15

Kommentit runawk

Kommentteja ei löytynyt
Lisää kommentti
Ota kuvia!