![]() |
|
|
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 |
| 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 |
| Cómo leer y comparar varios campos en una columna al mismo tiempo | ahjiefreak | Programación de scripts de shell y | 1 | 06-19-2008 12:08 PM |
| Sustituir con 3 campos null en el archivo | vukkusila | Programación de scripts de shell y | 1 | 09-12-2007 02:10 AM |
| Combinar con un archivo de archivo de Master, emergentes! | onthetopo | Programación de scripts de shell y | 6 | 05-12-2007 07:36 AM |
| buscar y reemplazar los diferentes campos | tungaw2004 | UNIX for Dummies Preguntas y Respuestas | 3 | 03-29-2007 04:16 AM |
| reemplazar una sección en un archivo de | Pimentón | Programación de scripts de shell y | 4 | 06-17-2005 09:48 AM |
![]() |
|
|
Linkback vínculo | Herramientas de hilo | Buscar en este Hilo | Tasa de Hilo | Modos de visualización |
|
|
|
||||
|
¿Cómo puedo leer / buscar / sustituir los campos en un archivo de csv?
hola.
Soy algo novato aquí por favor sea paciente. Mi escollo al cargar CSVS en tablas ORACLE es la siguiente: Tengo que leer un archivo de csv, varios campos de verificación en cada línea, y si alguno de los campos contienen declaró CERO A sólo [en lugar de campo de fecha YYYYMONDD espera] y reemplazarlo con un nulo / blanco carácter. Yo tenía un ir en: gato <datafile> | awk '$ 5 \u003d\u003d "0" ( "") END (print)'; gato <datafile> | awk '$ 8 \u003d\u003d "0" ( "") END (print)'; .. etc. .. lamentablemente no funcionó .. todos los consejos y comentarios muy apreciada Steven. |
|
||||
|
Publicar una muestra de la csv y archivo de la salida deseada.
Recuerdos |
|
||||
|
gracias por la rápida respuesta .. csv de las dos primeras líneas de este aspecto: Código:
13426,Williams,Robyn,Robyn,20031106,0,0,20080421,0,NASP39,Casual Sport & Recreation Ass,43.24,FACI,E,FASP,SUPP,SP,NASP35,20080421,0,100,FACI,V,FASP,SUPP,SP,0,0,Ms,FT,FT,SUB 15721,Clinton,Hilary,Hilary,20041101,hs0jo,poppy@aol.com,20080601,0,HSL236,Project Manager,56.76,700,A,700,ACAD,PB,V32636,20071207,20080731,0.36,700,V,HSEN,VLEC,FL,0,0,Dr,PT,FT,SUB .. y la salida deseada es válida la entrada en nuestra base de datos de ORACLE a través de sqlldr .. (disculpas si eso no es lo que significa ..) gracias de nuevo .. Steven Última edición por Yogesh Sawant; al 06-20-2008 05:54 AM.. Motivo: añadido etiquetas de código |
|
||||
|
Pruebe esto: Código:
awk 'BEGIN{FS=OFS=","}{for(i=1;i<=NF;i++){if($i=="0"){$i=""}}}1' file
Recuerdos |
|
||||
|
.. es un error que le devuelvan al intentar ejecutar este bien por sí misma o en una secuencia de comandos - no estoy funcionando bien?
$ Cat SLsTester_DataFile.csv | awk BEGIN (FS \u003d OFS \u003d","}{ for (i \u003d 1; i <\u003d NF; i + +) (if ($ i \u003d\u003d "0") ($ i \u003d""}} 1) 'fichero; .. el error siguiente: -bash: error de sintaxis cerca de token inesperado »(« su ayuda es muy apreciada .. Atentamente, Steven |
|
||||
|
No tubo el resultado del comando cat en el archivo. Esto es suficiente: Código:
awk 'BEGIN{FS=OFS=","}{for(i=1;i<=NF;i++){if($i=="0"){$i=""}}}1' SLsTester_DataFile.csv
Usted puede redirigir la salida a un archivo de la siguiente manera: Código:
awk 'BEGIN{FS=OFS=","}{for(i=1;i<=NF;i++){if($i=="0"){$i=""}}}1' SLsTester_DataFile.csv > NewFile
Recuerdos |
|
||||
|
Si sólo desea cambiar el valor si se trata de una fecha no válida en los puntos que se enumeran:
awk '(FS \u003d OFS \u003d","} $ 5 \u003d\u003d "0" ($ 5 \u003d "") $ 8 \u003d\u003d "0" ($ 8 \u003d "" $ 9) \u003d\u003d "0" ($ 9 \u003d "") $ 19 \u003d\u003d "0" ($ 19 \u003d "") $ 20 \u003d\u003d "0" ($ 20 \u003d "") $ 27 \u003d\u003d "0" ($ 27 \u003d "0") (print $ 0) 'file.csv Última edición por NYankz; al 06-20-2008 12:11 PM.. Motivo: fijo |
![]() |
| Marcadores |
| Etiquetas |
| solaris |
| Herramientas de hilo | Buscar en este Hilo |
| Modos de visualización | Vota a este hilo |
|
|