runawk

Sagteware kiekie:
runawk
Sagteware besonderhede:
Weergawe: 1.5.0
Upload datum: 19 Feb 15
Ontwikkelaar: Aleksey Cheusov
Lisensie: Gratis
Populariteit: 20

Rating: nan/5 (Total Votes: 0)

runawk is 'n klein wrapper vir AWK tolk wat impements module stelsel en help die selfstandige AWK programme te skryf.
MOTIVERING
Na jare van die gebruik van AWK programmering Ek het gevind dat ten spyte van
sy eenvoud en beperkings AWK is goed genoeg vir scripting 'n wye
verskeidenheid van verskillende take. AWK is nie so kragtig as hul groter
eweknieë soos Perl, Ruby, TCL en ander, maar dit het hul eie
voordele soos kompaktheid, eenvoud en beskikbaarheid op byna al
UNIX-stelsels. Ek persoonlik het ook graag sy data-gedrewe natuur en
teken oriëntasie, baie nuttige tegniek eenvoudige teks verwerking
nuts.
Maar! Ongelukkig AWK tolke kort 'n paar belangrike funksies en
soms werk nie so goed soos dit whould wees.
Sommige probleme wat ek sien (sommige van hulle, natuurlik).
1) AWK ontbreek ondersteuning vir modules. Selfs as ek skep klein programme, ek
dikwels wil die funksies vroeër geskep om te gebruik en is reeds in gebruik in
ander skrifte. Dit is, dit whould groot funksies te orginise in
sogenaamde biblioteke (modules).
2) Ten einde die argumente te # om te slaag! / Usr / bin / awk f script (nie te awk
tolk), is dit nodig om 'n lys van te prepand
argumente met - (twee minus tekens). In my mening, dit lyk sleg.
Voorbeeld:
awk_program:
& Nbsp; & nbsp; & nbsp; #! / Usr / bin / awk f
& Nbsp; & nbsp; & nbsp; Begin {
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; vir (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 sessie:
& Nbsp; & nbsp; & nbsp; % Awk_program --opt1 --opt2
& Nbsp; & nbsp; & nbsp; / Usr / bin / awk: Onbekende opsie --opt1 geïgnoreer
& Nbsp; & nbsp; & nbsp; / Usr / bin / awk: Onbekende opsie --opt2 geïgnoreer
& Nbsp; & nbsp; & nbsp; % Awk_program - --opt1 --opt2
& Nbsp; & nbsp; & nbsp; ARGV [1] = - opt1
& Nbsp; & nbsp; & nbsp; ARGV [2] = - opt2
& Nbsp; & nbsp; & nbsp; %
In my opinie awk_program script moet werk soos hierdie (net soos
normale programme nie)
& Nbsp; & nbsp; & nbsp; % Awk_program --opt1 --opt2
& Nbsp; & nbsp; & nbsp; ARGV [1] = - opt1
& Nbsp; & nbsp; & nbsp; ARGV [2] = - opt2
& Nbsp; & nbsp; & nbsp; %
Dit is moontlik om met behulp runawk.
3) Wanneer #! / Usr / bin / awk f script hanteer argumente (opsies) en wil
om te lees van stdin, is dit nodig om by te voeg
/ Dev / stdin (of '-') as 'n laaste argument eksplisiet.
Voorbeeld:
awk_program:
& Nbsp; & nbsp; & nbsp; #! / Usr / bin / awk f
& Nbsp; & nbsp; & nbsp; Begin {
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; As (ARGV [1] == "--flag") {
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; vlag = 1
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; ARGV [1] = "" # te lees nie lêer met die naam "--flag"
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; }
& Nbsp; & nbsp; & nbsp; }
& Nbsp; & nbsp; & nbsp; {
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Druk "vlag =" vlag "$ 0 =" $ 0
& Nbsp; & nbsp; & nbsp; }
Shell sessie:
& Nbsp; & nbsp; & nbsp; % Eggo toets | awk_program - --flag
& Nbsp; & nbsp; & nbsp; % Eggo toets | awk_program - --flag / dev / stdin
& Nbsp; & nbsp; & nbsp; vlag = 1 $ 0 = toets
& Nbsp; & nbsp; & nbsp; %
Ideaal awk_program moet werk soos hierdie
& Nbsp; & nbsp; & nbsp; % Eggo toets | awk_program --flag
& Nbsp; & nbsp; & nbsp; vlag = 1 $ 0 = toets
& Nbsp; & nbsp; & nbsp; %
Al hierdie probles is opgelos deur runawk en dit is die rede waarom ek dit geskryf het.
Ek het ook 'n paar modules sluit verspreiding wat te runawk
nuttig vir my en ek hoop sal nuttig wees vir jou ook.
INSTALLASIE
0) BSD maak, is nodig. Ek noem dit net 'maak', maar sy regte naam kan
& Nbsp; & nbsp; wissel & nbsp. bmake en pmake moontlik name.
& Nbsp; & nbsp; As jy nodig het om die standaard gebou opsies te verander,
& Nbsp; & nbsp; hardloop maak soos hierdie
& Nbsp; & nbsp; & nbsp; & nbsp; env [YOUR_ASSIGNMENTS] maak
& Nbsp; & nbsp; Sien voorbeeld hieronder
1) ontpak tarball wat jy afgelaai het soos hierdie
& Nbsp; & nbsp; gzip -dc runawk-X-Y-Z.tar.gz | teer -xf-
2) cd runawk-X-Y-Z
3) maak
4) (opsioneel!) Maak installeer-dirs
5) maak installeer
Daar is 'n baie Make File veranderlikes wat tydens verander kan word
. installasie & nbsp; Runawk se eie veranderlikes (hulle is almal aan die begin van
Makefile):
& Nbsp; PRÉFIXE & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; - Waar runawk is geïnstalleer
& Nbsp; MODULESDIR & nbsp; & nbsp; & nbsp; & nbsp; - Gids waar modules word geïnstalleer
& Nbsp; AWK_PROG & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; - Pad na awk tolk
& Nbsp; STDIN_FILENAME - pad na stdin toestel lêer
BSD make se veranderlikes (die mees algemeen gebruik word,
vir al die ander - sien make se dokumentasie en .mk lêers)
& Nbsp; BINDIR - waar runawk uitvoerbaar self geïnstalleer
& Nbsp; Mandir - waar handleiding bladsye is geïnstalleer
& Nbsp; BINOWN - runawk uitvoerbare eienaar
& Nbsp; BINGRP - runawk uitvoerbare groep
& Nbsp; MANOWN - man bladsy eienaar
& Nbsp; MANGRP - man bladsy groep
Voorbeeld:
& Nbsp; & nbsp; env CC = gcc
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; PREFIX = / huis / cheusov / plaaslike
& 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 / sluit
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; BINOWN = cheusov
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; BINGRP = gebruikers
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; MANOWN = cheusov
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; MANGRP = gebruikers
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; MKCATPAGES = geen
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; maak -s al installeer-dirs installeer

Wat is nuut in hierdie release:

  • Die opsies -i, -Ek, en al die lang opsies is heeltemal verwyder.
  • Die opsie T is bygevoeg vir opgevolg insette.
  • Die opsie v is in die man-bladsy gedokumenteer.
  • Oplossing vir gcc samestelling waarskuwings.
  • Oplossing vir samestelling met nie-leë MAKEOBJDIR.
  • Typo fixes in New, runcmd.awk, en die man bladsye.

Wat is nuut in die weergawe 1.4.4:

  • 'n fout in die verwydering van subdirectories in 'n tydelike gids was vasgestel.
  • Verbeterings vir runawk_modules.3.

Wat is nuut in die weergawe 1.4.3:

  • paexec (1) is nie gebruik stelsel ( 3) nie vir die verwydering van die tydelike gids.
  • Die funksie print_help () is verskuif van die power_getopt.awk module te init_getopt.awk.

Wat is nuut in die weergawe 1.4.2:

  • Hierdie weergawe voeg runawk_modules.3 waar alle modules is gedokumenteer, deprecates lang opsies, verwyder die -i en -Ek opsies, en sluit die man bladsye in die verspreiding tarball so pod2man is nie nodig vir die bou.

Wat is nuut in die weergawe 1.4.0:

  • In exitnow.awk, die exitnow (status) funksie eindig nou die uitvoering van die script sonder lopende END afdelings selfs as status == 0.
  • Die nuwe module io.awk sluit die funksies is_ {lêer, r, exec, socket, EIEU, blockdev, chardev, symlink}, FILE_SIZE en file_type. tokenre.awk het die nuwe funksie splitre0 ().

Wat is nuut in die weergawe 1.3.2:

  • Interne skikkings nou outomaties verskuif. Hierdie fixes gebruik van runawk (1) in kombinasie met xargs (1), bv, kat files.txt |. Xargs runawk -e '...'

Wat is nuut in die weergawe 1.3.0:

  • 'n oplossing vir 'n Intel C samesteller waarskuwing.
  • 'n oplossing vir die funksie shquote () uit modules / shquote.awk.
  • Die bron-kode van die projek is herorganiseer, waardeur 'n maklike installasie van enige subprojek. Voorbeelde, modules, runawk, alt_getopt en doc (TODO, README, ens lêers)

Wat is nuut in die weergawe 1.1.0:

  • 'n -F opsie is bygevoeg
  • New ord.awwas ftrans_in.awk en glob.awk modules is ingesluit.
  • 'n nuwe alt_getopt uitvoerbare is ingesluit vir die ontleding van kort en lang opsies in die dop skrifte.
  • New min3, min4, min5, min_key, MIN_VALUE en key_of_min_value (min.awk), en max3, max4, max5, max_key, max_value en key_of_max_value (max.awk) funksies is verskaf.
  • New monsters is bygevoeg:. Voorbeelde / demo_minmax, voorbeelde / demo_tokenre3, voorbeelde / demo_ftrans, voorbeelde / demo_glob *
  • 'n nuwe funksie in multisub.awk bygevoeg.
  • Klein verbeterings is in die installasie proses.

Wat is nuut in die weergawe 0.16.0:

  • Baie van die demo programme vir die meeste runawk modules is geskep en hulle is in voorbeelde / subdirectory nou. Nuwe MEGA module;-) power_getopt.awk Sien die dokumentasie en demo program voorbeelde / demo_power_getopt. Dit maak opsies hantering regtig maklik. Nuwe modules: embed_str.awk has_suffix.awk has_prefix.awk readfile.awk modinfo.awk Klein fixes en verbeterings in dirname.awk en basename.awk. Nou is hulle ten volle versoenbaar met gidsnaam (1) en base name (1) RUNAWK stel die volgende omgewing veranderlikes vir die kind awk subprocess: RUNAWK_MODC - 'n aantal modules (f lêernaam) geslaag om AWK RUNAWK_MODV_ - volledige pad van die module #n , waar n in [0..RUNAWK_MODC) reeks. RUNAWK stel RUNAWK_ART_STDIN omgewing veranderlike vir die kind awk subprocess 1 indien addisionele / kunsmatige '-' is bygevoeg tot die lys te awk se argumente. Makefile: bmake-ism verwyder. Nou Make File is ten volle versoenbaar met FreeBSD make. CLEANFILES teiken eerder gebruik van die hand gemaak reëls Klein fix in 'test_all se teikenmark

Soortgelyke sagteware

FFC
FFC

17 Feb 15

gears-less
gears-less

20 Feb 15

CURSEL
CURSEL

3 Jun 15

Ander sagteware ontwikkelaar Aleksey Cheusov

mk-configure
mk-configure

20 Feb 15

DictEm
DictEm

20 Feb 15

paexec
paexec

20 Feb 15

LMDBG
LMDBG

20 Feb 15

Kommentaar te runawk

Kommentaar nie gevind
Kommentaar te lewer
Draai op die foto!