The UNIX and Linux Forums  
Hola y bienvenida de los Estados Unidos a la UNIX y Linux Foros! Gracias por su visita y formar parte de nuestra comunidad global.

Go Back   El UNIX y Linux Foros > Arriba Foros > Programación de scripts de shell y
.
google unix.com



Programación de scripts de shell y Plantear preguntas sobre KSH, CSH, SH, BASH, PERL, PHP, SED, AWK y otros scripts de shell y lenguajes de script de shell aquí.

 
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
Linkback vínculo Herramientas de hilo Buscar en este Hilo Tasa de Hilo Modos de visualización
  #1 (Enlace permanente)  
Old 11-17-2008
timj123 timj123 is offline
Usuario Registrado
  
 

Fecha: enero 2008
Puestos: 80
Ayuda con awk funcions

Tengo un problema con mi guión. Trabaja en su mayor parte, pero no es muy
portátiles. Siguiente ejemplo es muestra de "archivo de entrada" y de cortar y pegar "script.

El script funciona bien si las siguientes son partes del sistema outputted de la siguiente manera:

SISTEMA CFO es seguido por SISTEMA DAX
SISTEMA DE DAX es seguido por SISTEMA DE TC
SISTEMA DE TC es seguido por STETEM OND

En diferentes unidades de algunas de las partes del sistema no se emite en la misma
orden o algunas de las partes del sistema no se emite en absoluto.

Mi pregunta es ¿cómo puedo modificar awk funciones para detener la transformación de un sistema
y empezar a procesar en la siguiente parte del sistema cuando la próxima parte del sistema
no aparece en la parte de sí mismo, ejemplo de la función (DAX):
Código:
   while (( getline > 0 ) && ( $3 != "TC" )) {
En la línea de código, $ 3 TC es el siguiente sistema de parte, dice que la función de detener la transformación.

Aquí está la muestra de archivo de entrada:

Código:
doal   cont   pegc   system1   call7   solh
RX SYSTEM CFO
DATE 322:47:34

DPORQ = 0        TTORQ = 0        DPINRQ= 0
MFINRQ= 0        CDIRR = 0        TCBSY = 0
TCINT = 0        TCANS = 0        TCRNG = 0
RPINRQ= 0        C6INRQ= 0        ISUPRQ= 11147
TUPRQ = 0        MFOURQ= 0        C6OURQ= 0
ISUPOR= 17417    BICCRQ= 0        BICCOR= 0
POVFL = 0

doal   cont   pegc   system1   call7   solh
RX SYSTEM DAX
DATE 322:47:34

proc   cpu    systm    load     sactv    orig    ovldpu   mmst
1      0        0        0        0        0        0        0
2      0        0        0        0        0        0        0
3      0        0        0        0        0        0        0
4      0        0        0        0        0        0        0
5      0        0        0        0        0        0        0
6      0        0        0        0        0        0        0
7      0        0        0        0        0        0        0
8      0        0        0        0        0        0        0
9      0        0        0        0        0        0        0
10     0        0        0        0        0        0        0
11     0        0        0        0        0        0        0

doal   cont   pegc   system1   call7   solh
RX SYSTEM TC
DATE 322:47:34

proc     pucco    load     chgro    chmert   chinc    chout    ceqpu
22       2        97       0        0        2707     6374     0
1        3        15011    0        0        2717     6651     0
2        3        12976    0        0        2139     6137     0
3        3        13898    0        0        2199     6583     0
4        3        15123    0        0        2478     7788     0
5        3        13823    0        0        2645     5789     0
Aquí está la muestra de la secuencia de comandos:
Código:
/usr/xpg4/bin/awk '

$3 == "CFO"    { cFO() } 
$3 == "DAX"    { dAX() } 
$3 == "TC"     { tC()  } 


function dAX(     _xm)
{
   while (( getline > 0 ) && ( $3 != "TC" )) {

do a a lot of awk stuff here....
.
.
.
.
.
   }
}

function tC(     _msx)
{
   while (( getline > 0 ) && ( $3 != "OND" )) {

do a a lot of awk stuff here....
.
.
.
.
.
   }
}

function cFO(     _iu)
{
   while (( getline > 0 ) && ( $3 != "DAX" )) {

do a a lot of awk stuff here....
.
.
.
.
.
   }
} FILENAME
Gracias de antemano.
 

Marcadores

Herramientas de hilo Buscar en este Hilo
Buscar en este Hilo:

Búsqueda avanzada
Modos de visualización Vota a este hilo
Vota a este hilo:

Normas de envío
puede que no nuevo puesto de hilos
puede que no enviar respuestas
puede que no enviar archivos adjuntos
puede que no editar sus puestos

Código BB es Encendido
Emoticones son Encendido
[IMG] código Encendido
Código HTML es Apagado
Trackbacks son Encendido
Pingbacks son Encendido
Refbacks son Encendido




Todas las horas son GMT -4. La hora es 02:13 AM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Traducciones de idiomas Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Estudios
El UNIX y Linux Foros Contenido Copyright © 1993-2009. Todos los derechos Reserved.Ad Gestión por RedTyger

Las direcciones URL de contenido vBSEO 3.2.0