![]() |
|
|
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 |
| ld: fatal: permanecer en contra de las deslocalizaciones allocatable pero no escrito secciones | tdallagn | Sun Solaris | 0 | 05-21-2008 08:58 AM |
| extracto de varias secciones de un archivo | rgentis | UNIX para usuarios avanzados y expertos | 1 | 03-18-2008 08:40 PM |
| recuperado varias líneas en varios lugares en un archivo | dala | Programación de scripts de shell y | 8 | 03-14-2008 03:28 PM |
| Manejar archivos de configuración con el mismo nombre de parámetro en varias secciones | potro | Programación de scripts de shell y | 7 | 03-05-2008 11:36 AM |
| extracto de un archivo de forma. tar.gz sin descompresión. archivo tar.gz | balireddy_77 | Programación de scripts de shell y | 2 | 07-10-2007 05:23 AM |
![]() |
|
|
Linkback vínculo | Herramientas de hilo | Buscar en este Hilo | Tasa de Hilo | Modos de visualización |
|
|
|
||||
|
extracto de varias secciones de archivo
Tengo un archivo que tengo que analizar varias secciones del archivo.
El archivo contiene varias líneas que comienzan con S (Abunch de datos) A continuación, el archivo contiene varias líneas que comienzan con SE (Abunch de datos) SE * 30 * 0001 ST * 810 * 0002 Necesito todas las líneas e incluyendo entre estos. Son las facturas. La factura se inicia con la primera línea y termina con la SE línea. Tengo que salir de todas las facturas en archivos separados. ¿Puede alguien por favor me ayude. Sé Grep, sed, O AWK pueden hacerlo, pero no sabe cómo. Gracias Aquí está un ejemplo: ST * 810 * 0001 GRANDES * 20080315 * 1220680417 ** OFERTA *** DI * N1 * SF McLane altiplano * 92 * 46120004 * N1 * ST SWC 7-11 # 57134 * 91 * 571315 N3 * 2712 E 8 ST N4 * ODESSA * TX * 79761 Ref. ST * 000134 * ITD 05 * 3 * 7 ***** ***** NET 7 IT1 ** 1 * * 20,09 ** CA CB * 649251 * PI * 093 * UP * 099299711018 * RA * NA TXI ZZ * 1,53 * **** 2 CTP ** RES RSE *** * 0 * 1 PID * F **** 7o-11o T-SHIRT BOLSA 1 / 7 BBL PO4 * 1000 IT1 ** 1 * EA * 33,72 ** CB * 834861 * PI * 093 * UP * 012253022401 * RA * NA TXI ZZ * 2,57 * **** 2 CTP ** RES RSE *** * 0 * 1 PID * F **** KIT DE HORMIGÓN CHAMP PO4 * 1 IT1 ** 1 * EA * 0,03 * 192849 ** CB * PI * 093 * UP * 000000192842 * RA * NA CTP ** RES RSE *** * 0 * 1 PID * F **** SCS 711 BK 200 PO4 * 1 IT1 EA ** 30 * ** * 2,59 * 001511 * CB PI * 093 * UP * 025215102776 * RA * NA CTP ** RES RSE *** * 0 * 1 PID * F **** MAXELL T-160 PLUS VIDEO PO4 * 1 TDS * 18454 SAC * C * G740 *** 5300 *** 06 ******* SERVICIO CTT * 4 SE * 30 * 0001 |
|
||||
|
Código:
awk '/^ST/,/^SE/' file |
|
||||
|
Gracias por su pronta respuesta.
Se hizo lo que quería. Sin embargo, las tres secciones deben ser analizadas para a diferentes archivos. Por lo que tiene ST datos SE Esto debe ser tomado para el archivo 1 ST datos SE Esto debe ser tomado a archivo 2 ETC ..... También me di cuenta de que el ST y SE están numerados. ST * 810 * 0004 Entonces SE * (Número) * 0004 Gracias Última edición por rgentis; al 03-18-2008 08:07 PM.. Exposición de motivos: se agregó algo |
|
||||
|
nawk 'BEGIN (n \u003d 1)
$ 0 ~ / ^ ST / f \u003d (1) $ 0 ~ / ^ SE / factura ([n] \u003d sprintf ( "% s \ n% s", factura [n], $ 0), f \u003d 0, n \u003d n +1) ( if (f \u003d\u003d 1) factura [n] \u003d sprintf ( "% s \ n% s", factura [n], $ 0) ) FIN ( for (i en la factura) imprimir factura [i]>> i close (i) ) 'Filename |
|
||||
|
extracto de varias secciones de archivo
# - ST Utilice los valores de salida como el nombre de archivo.
awk-v out \u003d "/ dev / null" / ^ S / (gsub ( "\ \ *","-",$ 0); out \u003d $ 0". Txt ") / ^ SE / (cerrar (a)) (Printf "% s \ n", $ 0>>) a cabo '$ INFILE Producto se ST-810-0001.txt etc ... -Ramesh |
![]() |
| Marcadores |
| Etiquetas |
| linux, comandos linux, solaris |
| Herramientas de hilo | Buscar en este Hilo |
| Modos de visualización | Vota a este hilo |
|
|