runawk

Software screenshot:
runawk
Podrobnosti Software:
Verze: 1.5.0
Datum uploadu: 19 Feb 15
Vývojka: Aleksey Cheusov
Licence: Volný
Popularita: 76

Rating: 1.5/5 (Total Votes: 2)

runawk je malý wrapper pro AWK tlumočníka, který impements modul systém a pomáhá psát samostatné programy awk.
MOTIVACE
Po letech používání AWK programování jsem zjistil, že navzdory
jeho jednoduchost a omezení AWK je dost dobré pro skriptování široký
škálu různých úkolů. AWK není tak poweful jako jejich větší
protějšky, jako je Perl, Ruby, TCL a další, ale to má své vlastní
výhody, jako je kompaktnosti, jednoduchosti a dostupnosti na téměř všechny
UNIX-like systémy. Osobně jsem také rád své datové řízené přírodu a
tokenu orientace, velmi užitečnou technikou pro jednoduché zpracování textu
inženýrské sítě.
Ale I! Bohužel awk tlumočníci postrádá některé důležité funkce, a
někdy práce není tak dobré, jak to whould být.
Některé problémy Vidím (některé z nich, samozřejmě).
1) AWK postrádá podporu pro moduly. I když jsem se vytvořit malé programy, I
často chtějí použít funkce vytvořili dříve a již používány v
další skripty. To znamená, že whould skvělé orginise funkce do
tzv knihovny (moduly).
2) S cílem předat argumenty #! / Usr / bin / awk -f script (ne awk
interpret), je nutné, aby prepand seznam
argumenty s - (dva minus Signes). Podle mého názoru to vypadá špatně.
Příklad:
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 sezení:
& Nbsp; & nbsp; & nbsp; % Awk_program --opt1 --opt2
& Nbsp; & nbsp; & nbsp; / Usr / bin / awk: neznámá volba --opt1 ignorována
& Nbsp; & nbsp; & nbsp; / Usr / bin / awk: neznámá volba --opt2 ignorována
& Nbsp; & nbsp; & nbsp; % Awk_program - --opt1 --opt2
& Nbsp; & nbsp; & nbsp; ARGV [1] = - OPT1
& Nbsp; & nbsp; & nbsp; ARGV [2] = - OPT2
& Nbsp; & nbsp; & nbsp; %
Podle mého názoru awk_program skript by měl fungovat takhle (stejně jako
normální programy se)
& Nbsp; & nbsp; & nbsp; % Awk_program --opt1 --opt2
& Nbsp; & nbsp; & nbsp; ARGV [1] = - OPT1
& Nbsp; & nbsp; & nbsp; ARGV [2] = - OPT2
& Nbsp; & nbsp; & nbsp; %
To je možné pomocí runawk.
3) Je-li #! / Usr / bin / awk -f script zpracovává argumenty (volby) a chce
číst ze standardního vstupu, je třeba přidat
/ Dev / stdin (nebo `- ') jako poslední argument explicitně.
Příklad:
awk_program:
& Nbsp; & nbsp; & nbsp; #! / Usr / bin / awk -f
& Nbsp; & nbsp; & nbsp; Begin {
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; jestliže (ARGV [1] == "--flag") {
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; flag = 1
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; ARGV [1] = "" #, že nebude číst soubor s názvem "--flag"
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; }
& Nbsp; & nbsp; & nbsp; }
& Nbsp; & nbsp; & nbsp; {
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; print "flag =" vlajka "$ 0 =" 0 dolar
& Nbsp; & nbsp; & nbsp; }
Shell sezení:
& Nbsp; & nbsp; & nbsp; % Echo test | awk_program - --flag
& Nbsp; & nbsp; & nbsp; % Echo test | awk_program - --flag / dev / stdin
& Nbsp; & nbsp; & nbsp; flag = 1 $ 0 = zkouška
& Nbsp; & nbsp; & nbsp; %
V ideálním případě by měl fungovat awk_program takhle
& Nbsp; & nbsp; & nbsp; % Echo test | awk_program --flag
& Nbsp; & nbsp; & nbsp; flag = 1 $ 0 = zkouška
& Nbsp; & nbsp; & nbsp; %
Všechny tyto probles řeší runawk, a to je důvod, proč jsem to napsal.
Také jsem zahrnují několik modulů runawk distribuce, které jsou
užitečné pro mě, a já doufám, že bude užitečné i pro vás.
INSTALACE
0), je nutné BSD make. I jméno je prostě "dělat", ale jeho skutečné jméno, může
& Nbsp; & nbsp; se liší. & nbsp; bmake a pmake jsou možná jména.
& Nbsp; & nbsp; Pokud potřebujete změnit výchozí možnosti stavebních,
& Nbsp; & nbsp; běžet, aby takhle
& Nbsp; & nbsp; & nbsp; & nbsp; env [YOUR_ASSIGNMENTS], aby
& Nbsp; & nbsp; Viz příklad sekce dole
1) Rozbalte archiv jste si stáhli takhle
& Nbsp; & nbsp; gzip -dc runawk-X-Y-Z.tar.gz | tar -xf-
2) CD runawk-X-Y-Z
3), aby
4) (volitelný!) Make install-dirs
5) make install
Existuje mnoho makefile proměnných, které lze změnit v průběhu
. Instalace & nbsp; Vlastní proměnné Runawk (Všechny jsou na začátku
Makefile):
& Nbsp; prefix & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; - Kde je runawk nainstalován
& Nbsp; MODULESDIR & nbsp; & nbsp; & nbsp; & nbsp; - Adresář, ve kterém jsou moduly nainstalovány
& Nbsp; AWK_PROG & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; - Cesta k awk tlumočníka
& Nbsp; STDIN_FILENAME - cesta k stdin souboru zařízení
BSD, aby se proměnné (nejčastěji používané,
Pro všechny ostatní - viz dokumentace, aby se i .mk souborů)
& Nbsp; BINDIR - kde runawk spustitelný sám je nainstalován
& Nbsp; Mandir - kde manuálové stránky jsou nainstalovány
& Nbsp; BINOWN - runawk spustitelný majitele
& Nbsp; BINGRP - runawk spustitelný skupina
& Nbsp; MANOWN - muž vlastník stránky
& Nbsp; MANGRP - muž skupina strana
Příklad:
& 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 / include
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; BINOWN = cheusov
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; BINGRP = uživatelů
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; MANOWN = cheusov
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; MANGRP = uživatelů
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; MKCATPAGES = no
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; jak -s all install-dirs nainstalovat

Co je nového v této verzi:

  • Možnosti -i, -I a všechny dlouhé varianty byly zcela odstraněny.
  • Možnost -T byla přidána na panelech vstup.
  • Možnost -v je popsána v manuálové stránce.
  • Opravy varování gcc kompilace.
  • Opravy kompilaci s non-vyprázdnit MAKEOBJDIR.
  • Typo opravy v nové, runcmd.awk a manuálové stránky.

Co je nového ve verzi 1.4.4:

  • chyba v odstraňování podadresáře v dočasném adresáři byla opraveno.
  • Vylepšení runawk_modules.3.

Co je nového ve verzi 1.4.3:

  • paexec (1) nepoužívá systém ( 3) už k odstranění dočasného adresáře.
  • Funkce print_help () byla přesunuta z power_getopt.awk modulu init_getopt.awk.

Co je nového ve verzi 1.4.2:

  • Tato verze přidává runawk_modules.3 kde všechny moduly dokumentováno, kritizuje dlouhé volby, odstraňuje -i -i volby, a zahrnuje manuálových stránek v distribučním archivu, takže pod2man není potřeba pro stavbu.

Co je nového ve verzi 1.4.0:

  • V exitnow.awk, exitnow (status) Funkce se ukončí provádění skriptu, aniž by hrozilo koncové úseky, i když stav == 0.
  • Nový modul io.awk zahrnuje funkce is_ {souborů, dir, exec, zásuvka, FIFO, blockdev, chardev, symbolický odkaz}, file_size, a file_type. tokenre.awk má novou funkci splitre0 ().

Co je nového ve verzi 1.3.2:

  • Vnitřní pole jsou nyní přesídlil automaticky. To řeší využití runawk (1), v kombinaci s xargs (1), např kočkou files.txt |. Xargs runawk -e '...'

Co je nového ve verzi 1.3.0:

  • Oprava pro kompilátor varovné zprávy Intel C.
  • Oprava funkce shquote () z modulů / shquote.awk.
  • Zdrojový kód projektu byla reorganizována, což umožňuje snadnou instalaci jakéhokoli dílčího projektu:. Příklady, moduly, runawk, alt_getopt, a doc (TODO, README, atd souborů)

Co je nového ve verzi 1.1.0:

  • Možnost -F přidala
  • Nové ord.awwas ftrans_in.awk, a glob.awk moduly byly zahrnuty.
  • Nový alt_getopt spustitelný byla zařazena pro analýzu krátkých i dlouhých možnosti shell skripty.
  • New min3, min4, min5, min_key, MIN_VALUE, a key_of_min_value (min.awk), a max3, max4, technologií MAX5, max_key, max_value, a key_of_max_value byly poskytnuty (max.awk) funkce.
  • byly přidány nové vzorky:. Examples / demo_minmax, příklady / demo_tokenre3, příklady / demo_ftrans, examples / demo_glob *
  • nová funkce byla přidána v multisub.awk.
  • Drobná vylepšení byly provedeny v postupu instalace.

Co je nového ve verzi 0.16.0:

  • byly vytvořeny spousta demo programů pro většinu runawk moduly a jsou v příkladech / podadresáři teď. New MEGA modul;-) power_getopt.awk naleznete v dokumentaci a demo programu příklady / demo_power_getopt. To je manipulační rychlé volby. Nové moduly: embed_str.awk has_suffix.awk has_prefix.awk readfile.awk modinfo.awk Drobné opravy a vylepšení dirname.awk a basename.awk. Nyní jsou plně kompatibilní s dirname (1) a jméno (1) RUNAWK stanoví tyto proměnné prostředí pro dítě awk podprocesu: RUNAWK_MODC - A počet modulů (-f filename) předán do AWK RUNAWK_MODV_ - plnou cestu k modulu #n , kde n je v rozmezí [0..RUNAWK_MODC). RUNAWK nastaví RUNAWK_ART_STDIN proměnné prostředí pro dítě awk podproces 1, když další / umělá `- 'byl přidán na seznam argumentů awk je. Makefile: bmake-ISM byly odstraněny. Nyní Makefile je plně kompatibilní s FreeBSD výroby. CLEANFILES cíl se používá namísto ruční pravidel Malé opravy v "test_all" cíl

Podobný software

BAIK
BAIK

11 May 15

Ctalk
Ctalk

20 Feb 15

nml
nml

15 Apr 15

ADP
ADP

17 Feb 15

Ostatní software developer Aleksey Cheusov

DictEm
DictEm

20 Feb 15

LMDBG
LMDBG

20 Feb 15

mk-configure
mk-configure

20 Feb 15

paexec
paexec

20 Feb 15

Komentáře k runawk

Komentáře nebyl nalezen
Přidat komentář
Zapnout obrázky!