runawk

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

Rating: nan/5 (Total Votes: 0)

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

GromJS
GromJS

20 Feb 15

Glulxe
Glulxe

11 May 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!