The UNIX and Linux Forums  


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
Agarra una menor y mayor valor Raynon Programación de scripts de shell y 3 10-11-2007 07:23 AM
coger la línea usando awk cdfd123 Programación de scripts de shell y 1 10-10-2007 09:21 AM
búsqueda y capturar datos de un archivo enorme ting123 UNIX for Dummies Preguntas y Respuestas 1 06-06-2006 10:41 PM
Cómo concatenar dos cadenas o varias cadenas en una cadena en B-shell? fontana Programación de scripts de shell y 2 08-26-2005 12:58 PM
Toma la forma de archivo de la última n9ninchd UNIX for Dummies Preguntas y Respuestas 1 05-10-2001 05:31 PM

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 10-04-2006
Raynon Raynon is offline
Usuario Registrado
  
 

Fecha: Sep 2006
Ubicación: SG
Puestos: 350
¿Cómo se puede obtener datos entre 2 cadenas?

Hi All,
Tengo un archivo de texto a continuación. ¿Cómo capturar todos los datos entre "05T00NPQSMR1" y "****" usando awk? Por favor, tenga en cuenta que el texto no puede ser las líneas fijas y texto contenido es dinámico. Por favor ayuda. Gracias

Que figura a continuación es mi código donde $ es mi LOT_SUFFIX del intérprete de comandos.

awk'/'"$ LOT_SUFFIX "'/,/ bla / '$ nfile_selected

Habida cuenta de los datos:

bla
xxx
yyy
************************************************** ********
** 05T00NPQSMR1 P98P2234 Martes 10 03 09:57:24 2006
** Dibid \u003d 1166 testerid \u003d 6
** Muestra \u003d 100 0
** \u003d Tasm MFMM xx xx xx
** \u003d MFMC TASC xx xx xx
************************************
xxxx
yyy
zzz
bla
bla
************************************************** ********
** 05T00NPQSMR1 P98P2234 Martes 10 03 09:57:24 2006
** Dibid \u003d 1166 testerid \u003d 6
** Muestra \u003d 100 0
** \u003d Tasm MFMM xx xx xx
** \u003d MFMC TASC xx xx xx
************************************


Resultado esperado:
************************************************** ********
** 05T00NPQSMR1 P98P2234 Martes 10 03 09:57:24 2006
** Dibid \u003d 1166 testerid \u003d 6
** Muestra \u003d 100 0
** \u003d Tasm MFMM xx xx xx
** \u003d MFMC TASC xx xx xx
************************************
xxxx
yyy
zzz
bla
bla
************************************
  #2 (Enlace permanente)  
Old 10-04-2006
vino's Avatar
vino vino is offline Forum Staff  
Defensor (in vino veritas)
  
 

Fecha: febrero 2005
Lugar: Bangalore, India
Mensajes: 2.798
Pruebe esto.

Código:
sed -n -e '/05T00NPQSMR1/,/^\**/p' input.txt

Otras presente.

Código:
sed -n -e '/05T00NPQSMR1/,/^[*]*/p' input.txt

Por el momento, yo no tienen acceso a una terminal de unix para probar esto.
  #3 (Enlace permanente)  
Old 10-04-2006
Raynon Raynon is offline
Usuario Registrado
  
 

Fecha: Sep 2006
Ubicación: SG
Puestos: 350
Cita:
Publicado originalmente por vino
Pruebe esto.

Código:
sed -n -e '/05T00NPQSMR1/,/^\**/p' input.txt


Otras presente.

Código:
sed -n -e '/05T00NPQSMR1/,/^[*]*/p' input.txt

Por el momento, yo no tienen acceso a una terminal de unix para probar esto.
Hola, la salida parece lejos de lo que quería. Véase a continuación.

Salida:
** 05T00NPQSMR1 P98P2234 Martes 10 03 09:57:24 2006
** Dibid \u003d 1166 testerid \u003d 6
** 05T00NPQSMR1 P98P2234 Martes 10 03 09:57:24 2006
** Dibid \u003d 1166 testerid \u003d 6
  #4 (Enlace permanente)  
Old 10-04-2006
ghostdog74 ghostdog74 is offline Forum Advisor  
Usuario Registrado
  
 

Fecha: Sep 2006
Mensajes: 2.554
Alternativa en Python:

Entrada:
bla
xxx
yyy
************************************************** ********
** 05T00NPQSMR1 P98P2234 Martes 10 03 09:57:24 2006
** Dibid \u003d 1166 testerid \u003d 6
** Muestra \u003d 100 0
** \u003d Tasm MFMM xx xx xx
** \u003d MFMC TASC xx xx xx
************************************
xxxx
yyy
zzz
bla
bla
************************************************** ********
** 05T00NPQSMR1 P98P2234 Martes 10 03 09:57:24 2006
** Dibid \u003d 1166 testerid \u003d 6
** Muestra \u003d 100 0
** \u003d Tasm MFMM xx xx xx
** \u003d MFMC TASC xx xx xx
************************************
xxxasdfljsdlfx
yyy; slkfd; s
zzzsdklfjsd
blasdflksdjh
blajaspofkspodf




Código:
number = []
all = open("test.txt").readlines()
for num,line in enumerate(all):
 	line = line.strip()
 	if "*" * 58 in line:
 		number.append(num)
 

for i in range(len(number)):
 	try:
 		print ''.join(all[ number[i]:number[i+1] ] )
 	except:
 		print ''.join(all[number[i]:])


Salida:
************************************************** ********
** 05T00NPQSMR1 P98P2234 Martes 10 03 09:57:24 2006
** Dibid \u003d 1166 testerid \u003d 6
** Muestra \u003d 100 0
** \u003d Tasm MFMM xx xx xx
** \u003d MFMC TASC xx xx xx
************************************
xxxx
yyy
zzz
bla
bla

************************************************** ********
** 05T00NPQSMR1 P98P2234 Martes 10 03 09:57:24 2006
** Dibid \u003d 1166 testerid \u003d 6
** Muestra \u003d 100 0
** \u003d Tasm MFMM xx xx xx
** \u003d MFMC TASC xx xx xx
************************************
xxxasdfljsdlfx
yyy; slkfd; s
zzzsdklfjsd
blasdflksdjh
blajaspofkspodf

Última edición por ghostdog74; al 10-05-2006 04:34 AM..
  #5 (Enlace permanente)  
Old 10-04-2006
vish_indian vish_indian is offline
Usuario Registrado
  
 

Fecha: junio 2006
Lugar: Nueva Delhi, India
Puestos: 92

Código:
awk -v pat1="05T00NPQSMR1" -v pat2="^[*]{3,}" '$0~pat1,$0~pat2' awtest

Si necesita datos sólo hasta "** TASC"


Código:
awk -v pat1="05T00NPQSMR1" -v pat2="^** tasC" '$0~pat1,$0~pat2' awtest

  #6 (Enlace permanente)  
Old 10-04-2006
anbu23 anbu23 is offline Forum Advisor  
Usuario Registrado
  
 

Fecha: marzo 2006
Lugar: Bangalore, India
Mensajes: 1.398
Cita:
bla
************************************************** ********
** 05T00NPQSMR1 P98P2234 Martes 10 03 09:57:24 2006

Código:
sed -n '/05T00NPQSMR1/,/*\{58\}/p' input

donde 58 es la longitud de línea por encima de asterisco
  #7 (Enlace permanente)  
Old 10-05-2006
Raynon Raynon is offline
Usuario Registrado
  
 

Fecha: Sep 2006
Ubicación: SG
Puestos: 350
Hola Anbu,
A continuación el código:
awk-v pat1 \u003d "05T00NPQSMR1"-v pat2 \u003d"^[*]{ 3,) " '$ 0 ~ pat1, $ 0 ~ pat2' awtest

Y Vish,
A continuación el código:
sed -n '/ 05T00NPQSMR1 /, / * \ (58 \) / p' de entrada

Ambos productos son:
** 05T00NPQSMR1 P98P2234 Martes 10 03 09:57:24 2006
** Dibid \u003d 1166 testerid \u003d 6
** Muestra \u003d 100 0
** \u003d Tasm MFMM xx xx xx
** \u003d MFMC TASC xx xx xx
************************************
xxxx
yyy
zzz
bla
bla
************************************************** ********
** 05T00NPQSMR1 P98P2234 Martes 10 03 09:57:24 2006
** Dibid \u003d 1166 testerid \u003d 6
** Muestra \u003d 100 0
** \u003d Tasm MFMM xx xx xx
** \u003d MFMC TASC xx xx xx
************************************


Pero lo que necesito es:

** 05T00NPQSMR1 P98P2234 Martes 10 03 09:57:24 2006
** Dibid \u003d 1166 testerid \u003d 6
** Muestra \u003d 100 0
** \u003d Tasm MFMM xx xx xx
** \u003d MFMC TASC xx xx xx
************************************
xxxx
yyy
zzz
bla
bla


Por favor ayuda. Gracias

Última edición por Raynon; al 10-05-2006 04:21 AM..
Closed Thread

Marcadores

Etiquetas
regex, expresiones regulares

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 09:25 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