runawk

Software captura de pantalla:
runawk
Detalles de software:
Versión: 1.5.0
Fecha de carga: 19 Feb 15
Promotor: Aleksey Cheusov
Licencia: Libre
Popularidad: 20

Rating: nan/5 (Total Votes: 0)

runawk es un pequeño envoltorio para AWK intérprete que impements sistema de módulos y ayuda a escribir los programas AWK independientes.
MOTIVACIÓN
Después de años de usar AWK para la programación que he encontrado que a pesar de
su sencillez y limitaciones AWK es lo suficientemente bueno para las secuencias de comandos de una amplia
gama de diferentes tareas. AWK no es tan grande como su poweful
contrapartes como Perl, Ruby, TCL y otros, pero que tiene su propio
ventajas como la compacidad, la sencillez y la disponibilidad en casi todo
Sistemas tipo UNIX. Yo personalmente también me gusta su naturaleza basada en datos y
orientación razón, técnica muy útil para facilitar el procesamiento de textos
servicios públicos.
Pero Te! Desafortunadamente awk intérpretes carece de algunas características importantes y
a veces no funciona tan bien como se whould sea.
Algunos de los problemas que veo (algunos de ellos, por supuesto).
1) AWK carece de soporte para módulos. Incluso si puedo crear pequeños programas, que
frecuencia que desee utilizar las funciones creadas anteriormente y ya se utiliza en
otros scripts. Es decir, se whould genial orginise funciones en
llamado bibliotecas (módulos).
2) Con el fin de pasar argumentos a #! / Usr / bin / awk -f guión (no awk
intérprete), es necesario prepand una lista de
argumentos con - (dos signes menos). En mi opinión, esto se ve mal.
Ejemplo:
awk_program:
& Nbsp; & nbsp; & nbsp; #! / Usr / bin / awk -f
& Nbsp; & nbsp; & nbsp; COMENZAR {
& 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; }
Sesión de la Consola:
& Nbsp; & nbsp; & nbsp; % Awk_program --opt1 --opt2
& Nbsp; & nbsp; & nbsp; / Usr / bin / awk: opción desconocida --opt1 ignorado
& Nbsp; & nbsp; & nbsp; / Usr / bin / awk: opción desconocida --opt2 ignorado
& Nbsp; & nbsp; & nbsp; % Awk_program - --opt1 --opt2
& Nbsp; & nbsp; & nbsp; ARGV [1] = - OPT1
& Nbsp; & nbsp; & nbsp; ARGV [2] = - opt2
& Nbsp; & nbsp; & nbsp; %
En mi opinión awk_program script debería funcionar así (al igual que
programas normales de hacer)
& Nbsp; & nbsp; & nbsp; % Awk_program --opt1 --opt2
& Nbsp; & nbsp; & nbsp; ARGV [1] = - OPT1
& Nbsp; & nbsp; & nbsp; ARGV [2] = - opt2
& Nbsp; & nbsp; & nbsp; %
Es posible utilizar runawk.
3) Cuando #! / Usr / bin / awk -f guión maneja argumentos (opciones) y deseos
para leer de la entrada estándar, es necesario añadir
/ Dev / stdin (o `- ') como último argumento explícitamente.
Ejemplo:
awk_program:
& Nbsp; & nbsp; & nbsp; #! / Usr / bin / awk -f
& Nbsp; & nbsp; & nbsp; COMENZAR {
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; si (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] = "" # para no leer el archivo llamado "--flag"
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; }
& Nbsp; & nbsp; & nbsp; }
& Nbsp; & nbsp; & nbsp; {
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; print "bandera =" bandera "$ 0 =" $ 0
& Nbsp; & nbsp; & nbsp; }
Sesión de la Consola:
& Nbsp; & nbsp; & nbsp; % Echo prueba | awk_program - --flag
& Nbsp; & nbsp; & nbsp; % Echo prueba | awk_program - --flag / dev / stdin
& Nbsp; & nbsp; & nbsp; flag = 1 $ 0 = prueba
& Nbsp; & nbsp; & nbsp; %
Idealmente awk_program debe trabajar así
& Nbsp; & nbsp; & nbsp; % Prueba de eco | awk_program --flag
& Nbsp; & nbsp; & nbsp; flag = 1 $ 0 = prueba
& Nbsp; & nbsp; & nbsp; %
Todos estos probles se resuelven por runawk y es por eso que lo escribí.
También incluyo un par de módulos de runawk distribución que son
útil para mí y espero que sea útil para usted también.
INSTALACION
0) se requiere BSD make. Puedo nombrar simplemente 'hacer', pero su verdadero nombre mayo
& Nbsp; & nbsp; variar. & nbsp; bmake y pmake son posibles nombres.
& Nbsp; & nbsp; Si necesita cambiar las opciones de creación de forma predeterminada,
& Nbsp; & nbsp; ejecutar make como este
& Nbsp; & nbsp; & nbsp; & nbsp; env [YOUR_ASSIGNMENTS] hacer
& Nbsp; & nbsp; Véase el ejemplo siguiente sección
1) Descomprimir tarball que haya descargado como este
& Nbsp; & nbsp; gzip -dc runawk-X-Y-Z.tar.gz | tar -xf-
2) cd runawk-X-Y-Z
3) hacer
4) (opcional!) Make install-dirs
5) make install
Hay una gran cantidad de variables Makefile que se puede cambiar durante la
. Instalación & nbsp; Propias variables de Runawk (Todo lo que ellos están en el comienzo de
Makefile):
& Nbsp; PREFIJO & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; - Donde runawk se instala en
& Nbsp; MODULESDIR & nbsp; & nbsp; & nbsp; & nbsp; - Directorio donde están instalados los módulos de
& Nbsp; AWK_PROG & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; - Camino a la intérprete awk
& Nbsp; STDIN_FILENAME - ruta del archivo del dispositivo de entrada estándar
Variables de BSD de maquillaje (más comúnmente utilizados,
para todos los demás - consulte la documentación del fabricante y archivos .mk)
& Nbsp; BINDIR - donde runawk ejecutable en sí está instalado a
& Nbsp; MANDIR - donde las páginas de manual se instalan en
& Nbsp; BINOWN - runawk propietario ejecutable
& Nbsp; BINGRP - runawk grupo ejecutable
& Nbsp; MANOWN - página dueño hombre
& Nbsp; MANGRP - grupo de páginas hombre
Ejemplo:
& 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 = users
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; MANOWN = cheusov
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; MANGRP = users
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; MKCATPAGES = no
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; hacen -s todo install-dirs instalación

¿Qué hay de nuevo en esta versión:

  • Las opciones -i, -I, y todas las opciones largas se eliminaron por completo.
  • La opción -T se añadió para la entrada de pestañas.
  • La opción -v se documenta en la página de manual.
  • Correcciones para advertencias de compilación gcc.
  • Correcciones para la compilación con MAKEOBJDIR no vacío.
  • correcciones de errata en NUEVO, runcmd.awk, y páginas de manual.

¿Cuál es nuevo en la versión 1.4.4:

  • Un error en la eliminación de los subdirectorios en un directorio temporal era fijo.
  • Mejoras para runawk_modules.3.

¿Qué hay de nuevo en la versión 1.4.3:

  • paexec (1) no utilizar el sistema ( 3) más para eliminar el directorio temporal.
  • El print_help función () se trasladó desde el módulo power_getopt.awk a init_getopt.awk.

¿Cuál es nuevo en la versión 1.4.2:

  • Esta versión añade runawk_modules.3 donde todos los módulos son documentado, desaprueba opciones largas, elimina las opciones -i y -I, e incluye páginas de manual en el tarball de distribución por lo que no se necesita pod2man para la construcción.

¿Qué hay de nuevo en la versión 1.4.0:

  • En exitnow.awk, la exitnow (estado) función ahora termina la ejecución del script sin correr secciones extremas incluso si el estado == 0.
  • El nuevo módulo io.awk incluye las funciones Is_ {archivo, dir, exec, socket, fifo, blockdev, chardev, enlace simbólico}, file_size y file_type. tokenre.awk tiene la nueva función splitre0 ().

¿Cuál es nuevo en la versión 1.3.2:

  • matrices internas son ahora reubicados automáticamente. Esto soluciona uso de runawk (1) en combinación con xargs (1), por ejemplo, files.txt gato |. Xargs runawk -e '...'

¿Cuál es nuevo en la versión 1.3.0:

  • Una solución para un mensaje de advertencia del compilador Intel C.
  • Una solución para el shquote función () de módulos / shquote.awk.
  • El código fuente del proyecto se ha reorganizado, lo que permite una fácil instalación de cualquier subproyecto:. Ejemplos, módulos, runawk, alt_getopt y doc (TODO, README, etc. archivos)

¿Cuál es nuevo en la versión 1.1.0:

  • Se añadió una opción -F

  • Nuevos ord.awwas ftrans_in.awk y módulos glob.awk fueron incluidos.
  • Un nuevo ejecutable alt_getopt se incluyó para analizar las opciones cortas y largas en scripts de shell.
  • Nueva min3, min4, MIN5, min_key, MIN_VALUE y key_of_min_value (min.awk), y máx3, max4, MAX5, max_key, MAX_VALUE y key_of_max_value funciones (max.awk) fueron proporcionados.
  • se añadieron nuevas muestras:. Examples / demo_minmax, ejemplos / demo_tokenre3, ejemplos / demo_ftrans, ejemplos / demo_glob *
  • Una nueva característica se añadió en multisub.awk.
  • Pequeñas mejoras se hicieron en el procedimiento de instalación.

¿Cuál es nuevo en la versión 0.16.0:

  • se crearon Muchos de los programas de demostración para la mayoría de los módulos runawk y son en los ejemplos / subdirectorio ahora. Nuevo módulo MEGA;-) power_getopt.awk Ver la documentación y ejemplos de programas de demostración / demo_power_getopt. Tiene opciones de manejo muy fácil. Nuevos módulos: embed_str.awk has_suffix.awk has_prefix.awk readfile.awk modinfo.awk correcciones menores y mejoras en dirname.awk y basename.awk. Ahora ellos son totalmente compatibles con dirname (1) y nombre base (1) RUNAWK establece las siguientes variables de entorno para el subproceso awk niño: RUNAWK_MODC - Un número de módulos (-f) pasó a AWK RUNAWK_MODV_ - Ruta completa al módulo #n , donde n es en [0..RUNAWK_MODC) gama. RUNAWK establece la variable de entorno RUNAWK_ART_STDIN para el subproceso awk niño a 1 si adicional / artificial '-' esta en la lista de argumentos de awk. Makefile: bmake-ismo fueron retirados. Ahora Makefile es totalmente compatible con FreeBSD maquillaje. Objetivo CleanFiles se utiliza en lugar de reglas hechas a mano fix Menor en blanco 'test_all'

Programas parecidos

LavaPE
LavaPE

20 Feb 15

Seed7
Seed7

22 Jun 18

ncc
ncc

3 Jun 15

Aubit 4GL compiler
Aubit 4GL compiler

20 Feb 15

Otro software de desarrollador Aleksey Cheusov

paexec
paexec

20 Feb 15

LMDBG
LMDBG

20 Feb 15

mk-configure
mk-configure

20 Feb 15

Comentarios a la runawk

Comentarios que no se encuentran
Añadir comentario
A su vez en las imágenes!