![]() |
|
|
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 |
| Combinar los archivos de texto, mientras que la combinación de las múltiples encabezado / remolque registros en cada una. | oordonez | Programación de scripts de shell y | 4 | 11-17-2008 11:06 PM |
| ¿Cuál es su edad? (Parte 2) | Perderabo | ¿Qué hay en tu mente? | 37 | 07-20-2007 01:27 PM |
| Cuenta N º de registros en archivos de cabecera y sin contar Tráiler Documentos | guiguy | Programación de scripts de shell y | 2 | 06-07-2007 01:15 PM |
| Ayuda para la comparación de 2 archivos para encontrar registros borrados | eja | UNIX for Dummies Preguntas y Respuestas | 2 | 04-03-2007 09:53 AM |
| Cómo extraer registros duplicados asociados con registro cabecera | run_eim | UNIX for Dummies Preguntas y Respuestas | 17 | 01-16-2007 11:46 PM |
![]() |
|
|
Linkback vínculo | Herramientas de hilo | Buscar en este Hilo | Tasa de Hilo | Modos de visualización |
|
|
|
||||
|
la comparación de parte de la cabecera con la parte de un registro detallado.
Hola,
Lil estoy confundido con el siguiente problema. Tengo un archivo, que tiene el siguiente encabezado: IMSHRATE_043008_101016 registro detallado de una muestra es la siguiente:9820101 A982005000CAVG030108000000000000010169000MAR 2008 9820102 MAR 2008 D030108 Tengo que comparar la parte de la cabecera (se destacan en rojo y sus fuentes un formato DDMMAA) con el Parte del Registro (resaltado en amarillo su fuente y también su formato DDMMAA). El problema es que hay miles de la documentación (en una media de 50.000 registros) en un solo archivo. ¿Puede alguien me ayude en la comparación de los "parte de la cabecera con la parte de registro detallado" en highlightened Rojo y Amarillo fuente de ejemplo de arriba? Recuerdos, Cmaroju |
|
||||
|
Hola, Es la sección amarilla de relieve es fijo en todas sus líneas de detalle? de todos modos, por debajo de perl puede ayudar un poco entrada (a.txt): Código:
IMSHRATE_043008_101016 9820101 A982005000CAVG 030108 000000000000010169000MAR 2008 9820102 MAR 2008 D030108 9820101 A982005000CAVG 030109 000000000000010169000MAR 2008 9820102 MAR 2008 D030108 9820101 A982005000CAVG 043008 000000000000010169000MAR 2008 9820102 MAR 2008 D030108 salida: Código:
MSHRATE_043008_101016 9820101 A982005000CAVG 030108 000000000000010169000MAR 2008 9820102 MAR 2008 D030108 Smaller than header 9820101 A982005000CAVG 030109 000000000000010169000MAR 2008 9820102 MAR 2008 D030108 Bigger than header 9820101 A982005000CAVG 043008 000000000000010169000MAR 2008 9820102 MAR 2008 D030108 Equal with header Código: Código:
open FH,"<a.txt" or die "Can not open file\n";
my @arr=<FH>;
close FH;
$arr[0]=~m/(.*)_([0-9][0-9])([0-9][0-9])([0-9][0-9])_(.*)/;
$header=$4.$2.$3;
print $arr[0];
for($i=1;$i<=$#arr;$i++){
my @temp=split(" ",$arr[$i]);
$temp[2]=~m/([0-9][0-9])([0-9][0-9])([0-9][0-9])/;
my $body=$3.$1.$2;
print $arr[$i],($body>$header)?"Bigger than header\n":($body==$header)?"Equal with header\n":"Smaller than header\n";
}
|
![]() |
| Marcadores |
| Herramientas de hilo | Buscar en este Hilo |
| Modos de visualización | Vota a este hilo |
|
|