Linux/Unix Shell Scripting - Ejecutar comando desde awk

 
Vista:

Ejecutar comando desde awk

Publicado por _ReaL_ (1 intervención) el 29/08/2008 00:45:19
Buenas tardes, estoy haciendo una aplicacion con awk pero necesito llamar a un programa externo usando un campo de un registo.

Para el ejemplo imaginaros que el archivo a.text contiene nombre de archivos y quisiera mostrar su contenido por pantalla usando awk.

Seria algo parecido a lo siguiente, porque eso no funciona.

#!/bin/bash

awk -F_ '{
#...
texto = cat $1;
#...
}

}' a.text

Espero haberme explicado bien, sino no dudeis en preguntarme.

Saludos,
_ReaL_
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Ejecutar comando desde awk

Publicado por Iván Garcerant (27 intervenciones) el 24/10/2008 06:41:35
Saludos.

Lo siento, pero al menos yo no te pude entender xD.

Si quieres ejecutar un comando en Awk debes utilizar el operador | y leer con getline. Mira la página de manual para detalles:

http://www.manpagez.com/man/1/awk/

Allí comentan:

"The ``function'' getline sets $0 to the next input record from the cur-
rent input file; getline <file sets $0 to the next record from file.
getline x sets variable x instead. Finally, cmd | getline pipes the
output of cmd into getline; each call of getline returns the next line
of output from cmd. In all cases, getline returns 1 for a successful
input, 0 for end of file, and -1 for an error."

Espero te sirva.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar