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
Unix Arithmatic operación cuestión, dato cuestión Thambi Programación de scripts de shell y 23 02-19-2008 07:19 AM
specifing gama .... zedex UNIX para usuarios avanzados y expertos 1 10-19-2007 10:07 AM
Cómo 'fuera de rango "al particionar pmichner UNIX for Dummies Preguntas y Respuestas 1 09-30-2006 02:51 AM
Busque una cadena dentro de un rango! azmathshaikh Programación de scripts de shell y 0 05-01-2005 04:54 AM
SCO Unix 5.0.6 Fuera de alcance josramon UNIX for Dummies Preguntas y Respuestas 5 02-21-2003 02:06 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 06-05-2008
Wrathe Wrathe is offline
Usuario Registrado
  
 

Fecha: junio 2008
Publicaciones: 6
Rango sed de emisión

OK, así que para una gran visión de conjunto de lo que estoy tratando de hacer:

Tengo 2 archivos que son en su mayoría similares.
El formato del archivo es el siguiente:

[descriptor1]
datos
datos
datos
datos

[descriptor2]
datos
datos
datos
datos

[descriptor3]
datos
datos

[descriptor4]
datos
datos

OK, entonces lo que debemos hacer es tener todos los datos de [descriptor2] y [descriptor3] archivo1 de secciones, como las secciones de quitar archivo2 y, a continuación, inserte el flujo de archivo1 en el lugar correcto en archivo2. Divertido, ¿verdad?

Bueno, soy nuevo w / sed, Pero parece que la mejor manera de hacer esto (corregir si me equivoco). Tengo algo de código de trabajo de la ATM que, sin embargo es que me da la línea [descriptor4] que es el final de la serie estoy usando y no quiero que a fin de incluir en la sección que eliminar, ¿cómo no que hacer eso?

sed '/ \ [descriptor2 /, / \ [descriptor4 /! d' archivo1

Básicamente, quiero ser la salida a:

[descriptor2]
datos
datos
datos
datos

[descriptor3]
datos
datos

Y es que me da todo lo que, además de un [descriptor4] que es donde termina la serie, pero no estoy seguro ¿de qué otra manera de definirlo.

Gracias por cualquier luz que puede arrojar!
  #2 (Enlace permanente)  
Old 06-05-2008
Franklin52 Franklin52 is offline Forum Staff  
Moderador
  
 

Fecha: febrero 2007
Mensajes: 4.345
Pruebe esto:


Código:
awk ' 
FNR==NR && /descriptor2/{f=1} 
FNR==NR && /descriptor4/{f=0} 
FNR==NR && f{arr[++i]=$0}
FNR==NR{next}
/descriptor2/{for(j=1;j<=i;j++){print arr[j]};f=1} 
/descriptor4/{f=0} 
!f{print}
' "file1" "file2"

Recuerdos
  #3 (Enlace permanente)  
Old 06-17-2008
freelong freelong is offline
Usuario Registrado
  
 

Fecha: abril 2008
Puestos: 38

Código:
sed -e '/\[descriptor2/,/\[descriptor4/!d' -e '/\[descriptor4/d' file1

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 05:57 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