![]() |
|
|
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 |
| La extracción de la secuencia de comandos de datos incorrectos de archivo de texto | jermaine4ever | Programación de scripts de shell y | 6 | 03-16-2009 12:18 PM |
| Acceso incorrecto NEI? | Juterassee | Sun Solaris | 5 | 10-30-2008 11:08 AM |
| inicio de sesión incorrectos | espace1000 | UNIX for Dummies Preguntas y Respuestas | 2 | 08-22-2008 07:48 AM |
| Acceso incorrecto | sydney2008 | Red Hat | 6 | 08-22-2008 05:57 AM |
| Directorio Nombre incorrecto | jand102821 | UNIX for Dummies Preguntas y Respuestas | 1 | 06-19-2002 05:35 PM |
![]() |
|
|
Linkback vínculo | Herramientas de hilo | Buscar en este Hilo | Tasa de Hilo | Modos de visualización |
|
|
|
||||
|
Awk datos incorrectos.
Estoy utilizando el siguiente comando: Código:
nawk -F"," 'NR==FNR {a[$2$3]=$1;next} a[$2$3] {print a[$2$3],$1,$2,$3}' file1 file2
Estoy recibiendo 40 registros de salida. Pero cuando la importación i archivo1 y archivo2 en MS Access i obtener 140 registros. 140 y sé que es correcto contar. Apreciamos su ayuda en la corrección de la secuencia de comandos |
|
||||
|
Cita:
Tengo dos archivos $ Head archivo1 zip, Nombre, Apellido 07777, abc, def 22584, diciembre, DLO 25487, xyz, jkl 25488, tenue, kio $ Head archivo2 servidor de base de datos objetivo Número de Seguro Social, Nombre, Apellido 123456789, abc, def 123456789, diciembre, DLO 123456789, xyz, jkl 123456789, tenue, kio Producto deseado: Número de Seguro Social, código postal, nombre, apellido Código:
nawk -F"," 'NR==FNR {a[$2,$3]=$1;next} ($2 SUBSEP $3) in a {print a[$2,$3],$1,$2,$3}' OFS=, " file2 file1
40 Matches
Código:
nawk -F"," 'NR==FNR {a[$2,$3]=$1;next} ($2 SUBSEP $3) in a {print a[$2,$3],$1,$2,$3}' OFS=, " file1 file2
140 matches
140 partidos es correcto, pero sé que ambos deben dar 140 no sé la razón por la que su diferencia. ¿Puede usted explicar por favor esta parte ($ 2 SUBSEP $ 3) a [$ 2, $ 3] que estamos utilizando aquí, es porque su separados por comas de entrada o es norma general I si no utilizar, entonces también estoy recibiendo mismo resultado |
|
|||||
|
Cita:
Asimismo, no entiendo por qué usted tiene una cita doble remolque (en rojo) en ambos casos? Cita:
Código:
a[$2,$3] En el contexto de la serie del índice de construcción, la "," es sustituida por la interna de la variable awk SUBSEP. Si posteriormente usted decide "dividir" el índice (para encontrarlo partes) se puede dividir por SUBSEP. Si simplemente concatenar la cadena, no se puede reconstruir el índice de sus piezas originales. La solución inicialmente envió debería darle el resultado deseado. Habida cuenta de archivo1: Código:
zip,FirstName,Lastname 07777,abc,def 22584,dec,dlo 25487,xyz,jkl 25488,dim,kio y fichero2: Código:
SSN,Firstname,LastName 123456789,abc,def 123456789,dec,dlo 123456789,xyz,jkl 123456789,dim,kio ejecutando: Código:
nawk -F, 'NR==FNR {a[$2,$3]=$1;next} ($2 SUBSEP $3) in a {print a[$2,$3],$1,$2,$3}' OFS=, file2 file1
Resultados en: Código:
123456789,07777,abc,def 123456789,22584,dec,dlo 123456789,25487,xyz,jkl 123456789,25488,dim,kio Revise su archivo1 y archivo2 - ver si existe alguna discrepancia está y / o espacios incrustados. Además, este NO es uno de los primeros puestos del foro y que ha sido pedido en el pasado: por favor utilice BB Código de etiquetas al publicar los datos o ejemplos de código. |
|
||||
|
Cita:
Código:
nawk -F"," 'NR==FNR {a[$2,$3]=$1;next} ($2 SUBSEP $3) in a {print a[$2,$3],$1,$2,$3}' OFS=, file1 file2
En el código anterior si archivo1 y cambiar la posición, fie2 i obtener resultados diferentes. No puedo publicar los archivos de datos debido a la sensibilidad. Yo a un control visual de los archivos y no veo caracteres especiales ni nada. ¿Hay un comando especial para verificar esto. Agradecemos su respuesta. |
|
|||||
|
Cita:
Doctor: Entonces no lo hace eso! Las posiciones de los archivos en la línea de comandos es importante para el mapeo de los campos de un archivo a la otra. Busque sus archivos de datos en los campos - tratar de ver la diferencia y ver su anuncio original de la cartografía de la lógica. Buena suerte. |
![]() |
| Marcadores |
| Herramientas de hilo | Buscar en este Hilo |
| Modos de visualización | Vota a este hilo |
|
|