![]() |
|
|
google unix.com
|
|||||||
| Foros | Registro | Reglas de los Foros | Enlaces | Álbumes | Preguntas más frecuentes | Lista de miembros | Calendario | Búsqueda | Puestos de hoy | Marcar Foros Como Leídos |
| 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 |
![]() |
|
|
Linkback vínculo | Herramientas de hilo | Buscar en este Hilo | Tasa de Hilo | Modos de visualización |
|
|
|
||||
|
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! |
|
||||
|
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 |
|
||||
|
Código:
sed -e '/\[descriptor2/,/\[descriptor4/!d' -e '/\[descriptor4/d' file1 |
![]() |
| Marcadores |
| Herramientas de hilo | Buscar en este Hilo |
| Modos de visualización | Vota a este hilo |
|
|