• Publicidad

Insertar salto de línea en archivo de salida

¿Apenas comienzas con Perl? En este foro podrás encontrar y hacer preguntas básicas de Perl con respuestas aptas a tu nivel.

Insertar salto de línea en archivo de salida

Notapor VIK » 2007-04-27 14:38 @651

Hola:

Espero me puedan ayudar, tengo que modificar este programa, el cual lee un archivo origen y quiero dejar los datos con otro formato en un archivo de salida, funciona bien, pero al momento de grabar al archivo lo hace en una misma línea, quiero agregar un salto en cada registro para que el resultado sea así:

Código: Seleccionar todo
MEX  04/02/07 58.98  35.43  93.96
MEX  04/03/07 56.32  41.93  76.36
MEX  04/04/07 59.90  43.16  92.63
MEX  04/05/07 40.27  24.96  71.87


Actualmente graba al archivo la siguiente cadena

Código: Seleccionar todo
MEX  04/02/07 58.98  35.43  93.96MEX  04/03/07 56.32  41.93 76.36MEX  04/04/07 59.90  43.16  92.63MEX  04/05/07 40.27  24.96  71.87


Este es el programa.

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
$dir_origen  ='d:\rendimiento\comportamiento';
$dir_destino = 'd:\rendimiento\cpudia';
#$dir_destino = 'salida';


# Para todos los ficheros origen
foreach $fichero ( <$dir_origen/*.txt> ) {

    ($nombre) = $fichero =~ /\/([^\/]+)$/;  # Nombre real del fichero

    # Tres últimas letras del fichero
    ($terminacion) = $nombre =~ /(...)\.txt/;
    $terminacion = substr($nombre,0,3);

    # Procesamos el fichero o pasamos al siguiente
    #print "Procesando $nombre \n";
    open FICHERO, "<$fichero" or next;
    open SALIDA,  ">$dir_destino/$terminacion".".txt" or next;
    while ( $linea = <FICHERO> ) {

        # Formateo de la línea
        $var1 = substr($linea,1,26);
        $var2 = substr($linea,7,20);
        $var3 = substr($linea,0,2);
        $var4 = substr($linea,2,2);
        $var5 = substr($linea,4,2);
        $var6 = $var4.'/'. $var5 .'/'. $var3;

        $linea = $terminacion .'  ' . $var6 . $var2 ; # Le ponemos la terminación al principio


        print SALIDA $linea;
    }
    close SALIDA; close FICHERO;
}
Coloreado en 0.003 segundos, usando GeSHi 1.0.8.4


Agradezco su ayuda de antemano.
VIK
Perlero nuevo
Perlero nuevo
 
Mensajes: 9
Registrado: 2006-12-06 17:51 @785

Publicidad

Notapor jclp77 » 2007-04-27 14:41 @653

Hola, me parece que habría que cambiar la linea

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
print SALIDA $linea;
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4

por
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
print SALIDA "$linea\n";
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


Saludos
jclp77
Perlero nuevo
Perlero nuevo
 
Mensajes: 21
Registrado: 2006-09-06 12:04 @544
Ubicación: México

Notapor VIK » 2007-04-30 09:54 @454

Efectivamente, ahora ejecuta el cambio de linea

Gracias !!!!

:D
VIK
Perlero nuevo
Perlero nuevo
 
Mensajes: 9
Registrado: 2006-12-06 17:51 @785


Volver a Básico

¿Quién está conectado?

Usuarios navegando por este Foro: Bing [Bot] y 21 invitados

cron