runawk

Screenshot Software:
runawk
Detalii soft:
Versiune: 1.5.0
Incarca data: 19 Feb 15
Producător: Aleksey Cheusov
Licenţă: Gratuit
Popularitate: 20

Rating: nan/5 (Total Votes: 0)

runawk este un înveliș mic pentru AWK interpret care impements sistem modul și ajută la a scrie programe independente AWK.
MOTIVATIA
După ani de utilizare AWK pentru programarea am constatat că, în ciuda a
simplitatea și limitele ei AWK este destul de bun pentru scripting de o largă
Gama de sarcini diferite. AWK nu este la fel de mare ca și poweful lor
omologii cum ar fi Perl, Ruby, TCL și alții, dar ea are propria lor
avantaje cum ar fi compact, simplitate și disponibilitate pe aproape toate
Sistemele UNIX-like. Îmi place, de asemenea, personal natura sa bazate pe date și
orientare jeton, tehnică foarte utilă pentru prelucrare text simplu
utilitati.
Dar! Awk Din păcate, interpreți lipsesc câteva caracteristici importante și
uneori, nu funcționează la fel de bun ca el whould fi.
Unele probleme Văd (unele dintre ele, desigur).
1) AWK nu are suport pentru module. Chiar dacă am crea programe mici, am
de multe ori doriți să utilizați funcțiile create anterior și deja utilizate în
alte script-uri. Asta este, se whould foarte bună de a orginise funcții în
așa numitul biblioteci (module).
2) Pentru a trece argumente la #! / Usr / bin / script awk-f (nu la awk
interpret), este necesar să se prepand o listă de
argumente cu - (minus două Signes). În opinia mea, acest lucru pare rău.
Exemplu:
awk_program:
& Nbsp; & nbsp; & nbsp; #! / Usr / bin / awk -f
& Nbsp; & nbsp; & nbsp; ÎNCEPE {
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; pentru (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; }
Sesiune Shell:
& Nbsp; & nbsp; & nbsp; % Awk_program --opt1 --opt2
& Nbsp; & nbsp; & nbsp; / Usr / bin / awk: opțiune necunoscută --opt1 ignorate
& Nbsp; & nbsp; & nbsp; / Usr / bin / awk: opțiune necunoscută --opt2 ignorate
& Nbsp; & nbsp; & nbsp; % Awk_program - --opt1 --opt2
& Nbsp; & nbsp; & nbsp; ARGV [1] = - OPT1
& Nbsp; & nbsp; & nbsp; ARGV [2] = - OPT2
& Nbsp; & nbsp; & nbsp; %
În opinia mea awk_program script ar trebui să funcționeze ca aceasta (la fel ca și
programe normale atractie)
& Nbsp; & nbsp; & nbsp; % Awk_program --opt1 --opt2
& Nbsp; & nbsp; & nbsp; ARGV [1] = - OPT1
& Nbsp; & nbsp; & nbsp; ARGV [2] = - OPT2
& Nbsp; & nbsp; & nbsp; %
Este posibil cu ajutorul runawk.
3) Atunci când #! / Usr / bin / script awk-f se ocupă de argumente (opțiuni) și vrea
pentru a citi de la stdin, este necesar să se adauge
/ Dev / stdin (sau `- ') ca un ultim argument explicit.
Exemplu:
awk_program:
& Nbsp; & nbsp; & nbsp; #! / Usr / bin / awk -f
& Nbsp; & nbsp; & nbsp; ÎNCEPE {
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; dacă (ARGV [1] == "--flag") {
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; pavilion = 1
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; ARGV [1] = "" # să nu citească fișierul numit "--flag"
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; }
& Nbsp; & nbsp; & nbsp; }
& Nbsp; & nbsp; & nbsp; {
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; print "pavilion =" pavilion "$ 0 =" 0 dolari
& Nbsp; & nbsp; & nbsp; }
Sesiune Shell:
& Nbsp; & nbsp; & nbsp; % Ecou încercare | awk_program - --flag
& Nbsp; & nbsp; & nbsp; % Ecou încercare | awk_program - --flag / dev / stdin
& Nbsp; & nbsp; & nbsp; pavilion = $ 1 0 = încercare
& Nbsp; & nbsp; & nbsp; %
În mod ideal, ar trebui să funcționeze ca awk_program aceasta
& Nbsp; & nbsp; & nbsp; % Încercare ecou | awk_program --flag
& Nbsp; & nbsp; & nbsp; pavilion = $ 1 0 = încercare
& Nbsp; & nbsp; & nbsp; %
Toate aceste probles sunt rezolvate de runawk și de aceea l-am scris.
Am inclus, de asemenea, câteva module pentru runawk de distribuție care sunt
util pentru mine și sper că va fi de ajutor pentru tine.
INSTALARE
0) este necesară BSD face. Am numi doar pentru a face ", dar numele său adevărat poate
& Nbsp; & nbsp; varia. & nbsp; bmake și pmake sunt nume posibile.
& Nbsp; & nbsp; Dacă aveți nevoie să schimbați opțiunile de constructii implicit,
& Nbsp; & nbsp; executați face ca aceasta
& Nbsp; & nbsp; & nbsp; & nbsp; env [YOUR_ASSIGNMENTS] face <țintă>
& Nbsp; & nbsp; A se vedea exemplul de mai jos secțiunea
1) tar Decomprimai ați descărcat ca aceasta
& Nbsp; & nbsp; gzip-dc runawk-X-Y-Z.tar.gz | gudron -xf-
2) cd runawk-X-Y-Z
3) face
4) (opțional!) Face install-directoare
5) make install
Există o mulțime de variabile Makefile care poate fi schimbat în timpul
. instalare & nbsp; Variabilele proprii Runawk lui (All acestea sunt la începutul
Makefile):
& Nbsp; PREFIX & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; - În cazul în care este instalat la runawk
& Nbsp; MODULESDIR & nbsp; & nbsp; & nbsp; & nbsp; - Director în cazul în care modulele sunt instalate la
& Nbsp; AWK_PROG & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; - Cale de awk interpret
& Nbsp; STDIN_FILENAME - calea de la stdin fișier dispozitiv
Variabilele BSD make lui (cel mai frecvent utilizate,
pentru toți ceilalți - a se vedea documentația marca și fișiere .mk)
& Nbsp; BINDIR - în cazul în care runawk executabil în sine este instalat
& Nbsp; Mandir - în cazul în care paginile de manual sunt instalate la
& Nbsp; BINOWN - runawk proprietar executabil
& Nbsp; BINGRP - runawk grup executabil
& Nbsp; MANOWN - proprietar pagina man
& Nbsp; MANGRP - grup de pagini man
Exemplu:
& Nbsp; & nbsp; env CC = gcc
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; PREFIX = / home / cheusov / locală
& 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 = -I / usr / PKG / includ
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; BINOWN = cheusov
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; BINGRP = utilizatori
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; MANOWN = cheusov
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; MANGRP = utilizatori
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; MKCATPAGES = nu
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; face -s toate install-directoare instalare

Ce este nou în această versiune:

  • Opțiunile -i, -I, și toate opțiunile lungi au fost complet eliminate.
  • Opțiunea -t-a adăugat la intrare cu file.
  • Opțiunea -v este documentat în pagina de manual.
  • Corecții pentru avertismente gcc de compilare.
  • stabilește, pentru compilare cu MAKEOBJDIR non-gol.
  • remedieri greșeli în noi, runcmd.awk, și pagini de manual.

Ce este nou în versiunea 1.4.4:

  • O eroare în eliminarea subdirectoare într-un director temporar a fost fixă.
  • Îmbunătățiri pentru runawk_modules.3.

Ce este nou în versiunea 1.4.3:

  • paexec (1) nu utilizează sistemul ( 3) mai pentru îndepărtarea directorul temporar.
  • Funcția print_help () a fost mutat de la modulul power_getopt.awk la init_getopt.awk.

Ce este nou în versiunea 1.4.2:

  • Această versiune adaugă runawk_modules.3 în cazul în care toate modulele sunt documentat, deprecates opțiuni lungi, elimină opțiunile -I și -I, și include paginile man în arhiva de distribuție astfel pod2man nu este necesară pentru construirea.

Ce este nou în versiunea 1.4.0:

  • În exitnow.awk, exitnow (statusul) Funcția inainteaza acum executarea script fără a executa secțiuni END chiar dacă starea == 0.
  • Noul modul io.awk include funcțiile is_ {fișier, dir, exec, soclu, FIFO, blockdev, chardev, link-ul simbolic}, file_size, și .FILE_TYPE. tokenre.awk are nouă funcție splitre0 ().

Ce este nou în versiunea 1.3.2:

  • matrice interne la care sunt acum mutate automat. Această stabilește utilizare a runawk (1), în combinație cu xargs (1), de exemplu, files.txt pisică |. Xargs runawk -e "..."

Ce este nou în versiunea 1.3.0:

  • O fix pentru un mesaj de avertisment compilator C Intel.
  • O fix pentru shquote funcția () de la module / shquote.awk.
  • Codul sursă al proiectului a fost reorganizat, permițând astfel o instalare usoara de orice subproiectului:. Exemple, module, runawk, alt_getopt, și doc (TODO, README, etc fișiere)

Ce este nou în versiunea 1.1.0:

  • O opțiune F a adăugat
  • Noi ord.awwas ftrans_in.awk, iar modulele glob.awk au fost incluse.
  • O nouă executabil alt_getopt a fost inclus pentru parsarea opțiunilor scurte și lungi pentru scripturi shell.
  • New min3, min4, min5, min_key, MIN_VALUE, iar key_of_min_value (min.awk), și max3, max4, max5, max_key, MAX_VALUE, iar key_of_max_value au fost oferite functii (max.awk).
  • s-au adăugat noi probe:. Exemple / demo_minmax, exemple / demo_tokenre3, exemple / demo_ftrans, exemple / demo_glob *
  • O nouă facilitate a adăugat în multisub.awk.
  • îmbunătățiri minore au fost făcute în cadrul procedurii de instalare.

Ce este nou în versiunea 0.16.0:

  • O mulțime de programe demo pentru cele mai multe module runawk au fost create și acestea sunt în exemple / subdirector acum. New MEGA modul;-) power_getopt.awk vedea exemple de documentare și programe demo / demo_power_getopt. Se face opțiuni de manipulare foarte usor. Module noi: embed_str.awk has_suffix.awk has_prefix.awk readfile.awk modinfo.awk stabilește minore și îmbunătățiri în dirname.awk și basename.awk. Acum, ei sunt pe deplin compatibile cu dirname (1) și basename (1) RUNAWK stabilește următoarele variabilele de mediu pentru subprocesul awk copil: RUNAWK_MODC - Un număr de module (filename -f) a trecut la AWK RUNAWK_MODV_ - Calea completă la #n modul , unde n este în [0..RUNAWK_MODC) gamă. RUNAWK stabilește RUNAWK_ART_STDIN variabila de mediu pentru subprocesului awk copil la 1 daca suplimentare / artificial `-" a fost adăugat la lista de argumente awk lui. Makefile: bmake-ism au fost eliminate. Acum Makefile este pe deplin compatibil cu FreeBSD face. Țintă CLEANFILES este folosit în loc de norme de mîna fix Minor în țintă "test_all"

Software similare

Jess
Jess

3 Jun 15

Pike
Pike

20 Feb 15

Vala
Vala

16 Aug 18

Perl
Perl

17 Aug 18

Alte software-uri de dezvoltator Aleksey Cheusov

DictEm
DictEm

20 Feb 15

mk-configure
mk-configure

20 Feb 15

LMDBG
LMDBG

20 Feb 15

Comentarii la runawk

Comentariile nu a fost găsit
Adauga comentarii
Porniţi pe imagini!