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í.

Más UNIX y Linux Foro Temas usted puede encontrar útiles
Hilo Hilo para principiantes Foro Respuestas Último mensaje
analizar una cadena en un script de shell asutoshch Programación de scripts de shell y 19 05-26-2008 09:18 PM
analizar el script de shell con sed jjamd64 UNIX for Dummies Preguntas y Respuestas 5 12-11-2007 04:51 PM
Analizar en una línea de comandos de Shell unishiva Programación de scripts de shell y 3 11-01-2007 04:30 PM
Ayuda en analizar un archivo CSV con Shell script mihirk Programación de scripts de shell y 10 06-24-2007 10:58 AM
Analizar en un archivo script de shell sendhilmani123 Programación de scripts de shell y 4 11-30-2006 02:29 AM

Closed Thread
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 02-08-2007
gurpreet470 gurpreet470 is offline
Usuario Registrado
  
 

Fecha: febrero 2007
Publicaciones: 4
Script de shell para analizar el archivo de registro de 300MB ..

soy relativamente nuevo a Shell scripting.
He escrito un guión para analizar un archivo grande. La lógica es:
Además de muchos otros animales inútil, hay muchos casos de <abc> y la correspondiente </ abc> etiquetas. (Todos ellos están debidamente cerrados)
Mi obligación es encontrar una etiqueta en particular (por ejemplo <data> 1234 </ data>) en cualquier lugar cerrado entre <abc> </ abc> etiquetas.
Si se encuentra, tengo que almacenar por debajo de la línea 4 de etiqueta <abc> en un archivo temporal.

Un típico archivo de registro tiene el siguiente aspecto:

************************
<pqr>
......
algunos datos
algunos otros datos
.........
</ PQR>
algunos datos de texto
...........
<abc>
bla
bla
.....
<id> 12345 </ id>
bla ...
......
<data> 1234 </ datos>
</ abc>
........
.....
.....

<abc>
bla
bla
.....
<id> 12345 </ id>
bla ...
...
</ abc>
..........
<rst>
...
...
</ primero>
algunos datos de texto ...

****************************

Salida de la secuencia de comandos debe ser <id> 12345 </ id> almacenados en algunos archivo temporal.

El script que estoy usando es el siguiente:

********************

rm-f temp.log
filename \u003d $ 1
OK \u003d 0

mientras que leer línea1
hacer


if [ "$ línea 1" \u003d "<abc>"] y, a continuación,
OK \u003d 1
fi

if [ "$ OK"-eq 1] y, a continuación,
echo $ línea1>> temp_file
fi

if [ "$ línea 1" \u003d "</ abc>"], entonces
OK \u003d 0
fi

if [ "$ OK"-eq 0]; a continuación,

if [-f temp_file] y, a continuación,

mientras que leer line2

hacer

if [ "$ line2" \u003d "<data> 1234 </ datos>"], entonces

gato temp_file | awk '(if (NR \u003d\u003d 4) (print ($ 0)))'>> temp.log

fi

hecho <temp_file

rm temp_file

fi

fi

hecho <$ filename.log

*******************************

El <abc> </ abc> etiquetas vienen en la última parte general (no siempre), después de alrededor de 500.000 líneas ... y por lo general, el archivo cuenta con alrededor de 700.000 líneas.

El script se ejecuta, y sigue funcionando, y yo encontrar 2 registros que están en las primeras líneas almacenados en el archivo temporal. 6ta-7mo pero después de algunos minutos, script termina abruptamente, diciendo:
scriptname.sh prueba: argumento esperado.

¿Puede alguien me ayude en esto?
  #2 (Enlace permanente)  
Old 02-08-2007
radoulov's Avatar
radoulov radoulov is online now Forum Staff  
adicto
  
 

Fecha: enero 2007
Ubicación: Варна, България / Milán, Italia
Mensajes: 2.867
*GNU * Awk solución:

Código:
awk '/data>1234/{print $5}' RS="<abc>" FS="\n" infile
  #3 (Enlace permanente)  
Old 02-09-2007
gurpreet470 gurpreet470 is offline
Usuario Registrado
  
 

Fecha: febrero 2007
Publicaciones: 4
Script no funciona ..

Cita:
Publicado originalmente por radoulov
*GNU * Awk solución:

Código:
awk '/data>1234/{print $5}' RS="<abc>" FS="\n" infile
Estoy realmente impresionado por el poder awk ..
Después de leer su respuesta, leer algunos artículos sobre awk.
De alguna manera, el script sigue sin funcionar, y termina diciendo ..
**********************
awk: grabar `/ respuesta>
Viernes 00:27 :...' demasiado largo
acta número 22
**********************
Tengo grandes esperanzas en usted ahora

Gracias
  #4 (Enlace permanente)  
Old 02-09-2007
radoulov's Avatar
radoulov radoulov is online now Forum Staff  
adicto
  
 

Fecha: enero 2007
Ubicación: Варна, България / Milán, Italia
Mensajes: 2.867
Trate de hacer los registros más cortos. Usted ha dicho que el <abc> </ abc> etiquetas vienen en la última parte después de alrededor de 500.000 líneas lo que el primer registro es muy largo . Usted puede hacer que sea más corto, incluyendo otras marcas / cadenas (que tiene en el comienzo del archivo) en la RS: por ejemplo, RS \u003d "<abc> | <other_tag>". O, si lo prefiere, puede enviarme un zip copia de su expediente en privado, por lo que me podría dar una oportunidad
BTW, ¿cuál es su versión Awk?
Closed Thread

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 11:17 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