The UNIX and Linux Forums  

Go Back   El UNIX y Linux Foros > Arriba Foros > UNIX for Dummies Preguntas y Respuestas
.
google unix.com



UNIX for Dummies Preguntas y Respuestas Si no está seguro de que para publicar un UNIX o Linux cuestión, puesto que aquí. Todos los novatos en Linux, UNIX y bienvenida!

Más UNIX y Linux Foro Temas usted puede encontrar útiles
Hilo Hilo para principiantes Foro Respuestas Último mensaje
detener unix encontrar en una estructura de directorios después de encontrar el 1 de sucesos jm0221 Programación de scripts de shell y 3 06-06-2008 08:19 PM
ayuda con la búsqueda y sustitución de patrón en un archivo dusoo Programación de scripts de shell y 0 05-23-2008 04:59 AM
con la sustitución de ciertos caracteres de nueva línea? Bashar Programación de scripts de shell y 4 05-13-2007 05:34 PM
búsqueda y sustitución de filas en blanco / espacios en un archivo Gerry405 Sun Solaris 2 07-21-2005 05:49 AM
shellscript para buscar y reemplazar en la Dirección General de UNIX Gerry405 UNIX for Dummies Preguntas y Respuestas 3 07-12-2005 09:12 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 01-31-2008
stresing stresing is offline
Usuario Registrado
  
 

Fecha: enero 2008
Publicaciones: 3
Encontrar enésima incidencia en la línea y su sustitución por

Hola,

Tengo varios archivos con datos que tienen que ser importados a una base de datos. Estos archivos contienen registros con separador de caracteres. Algunos registros son corruptos (2 separadores faltan), y tengo que corregirlos antes de la importación en la base de datos.
Ejemplo:

| campo1 | campo2 | Campo3 | field4 | field5 | field6 | field7 | field8 | field9 | field10 | field11 | field12 | | |
| campo1 | campo2 | Campo3 | field4 | field5 | field6 | field7 | field8 | field9 | field10 | field11 | field12 | field13 | sentir d14 | field15
| campo1 | campo2 | Campo3 | field4 | field5 | field6 | field7 | field8 | field9 | field10 | field11 | field12 | field13

Los registros 1 y 2 son correctos. Se componen de 15 campos opcionales separados por 15 | caracteres.
Registro 3 es corrupto, ya que el separador de caracteres que faltan 2 por delante field13.
Debe quedar como:
| campo1 | campo2 | Campo3 | field4 | field5 | field6 | field7 | field8 | field9 | field10 | field11 | field12 | | | field13

¿Cómo puedo lograr esto mediante el uso de sed o awk o algo más?
Cualquier ayuda es muy apreciada!

TIA,
Stephan.
  #2 (Enlace permanente)  
Old 01-31-2008
Tytalus's Avatar
Tytalus Tytalus is offline Forum Advisor  
echo (1 .. 9) ^ 2 \; | bc
  
 

Fecha: junio 2003
Ubicación: Escocia
Puestos: 431
bien - no va a ganar un premio bastante para el código, pero,


Código:
 awk -F"|" 'NF==16{print}NF==14{OFS="|";$16=$14;$14="";print $1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13,$14,$15,$16}' infile

obras. Con la entrada que nos ha facilitado, la siguiente es la O / P:


Código:
|field1|field2|field3|field4|field5|field6|field7|field8|field9|field10|field11|field12|||
|field1|field2|field3|field4|field5|field6|field7|field8|field9|field10|field11|field12|field13|fiel d14|field15
|field1|field2|field3|field4|field5|field6|field7|field8|field9|field10|field11|field12|||field13

HTH,
  #3 (Enlace permanente)  
Old 01-31-2008
stresing stresing is offline
Usuario Registrado
  
 

Fecha: enero 2008
Publicaciones: 3
Hola, gracias por su rápida respuesta!

No me importa bastante acerca de las soluciones - que funciona y que es importante para mí! Sólo probado en mi archivo y eso es lo que buscaba!

Tal vez un día tengo el tiempo para la declaración proxeneta - pero no voy a ganar un premio como así ...

Gracias de nuevo!
  #4 (Enlace permanente)  
Old 01-31-2008
radoulov's Avatar
radoulov radoulov is offline Forum Staff  
adicto
  
 

Fecha: enero 2007
Ubicación: Варна, България / Milán, Italia
Mensajes: 2.926
Si ese es el requisito:


Código:
awk 'NF==16||$NF=FS FS $NF' OFS="|" FS="|" filename

Uso o nawk / usr/xpg4/bin/awk en Solaris.
  #5 (Enlace permanente)  
Old 01-31-2008
Tytalus's Avatar
Tytalus Tytalus is offline Forum Advisor  
echo (1 .. 9) ^ 2 \; | bc
  
 

Fecha: junio 2003
Ubicación: Escocia
Puestos: 431
ahora hay que ir - que es lo que un auténtico gurú viene, y estoy impresionado - ni siquiera el pensamiento de que astuto solución.

bonita pieza de código radoulov - Sigo aprendiendo algo nuevo de sus entradas - le da el hombre.
  #6 (Enlace permanente)  
Old 02-01-2008
stresing stresing is offline
Usuario Registrado
  
 

Fecha: enero 2008
Publicaciones: 3
Wow, eso es realmente una buena solución. Nunca se han encontrado que en mi propio - por supuesto, esa es la razón por la que he puesto a los maniquíes foro ... Gracias!
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 01: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