• Publicidad

Ordenar un archivo de texto

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

Ordenar un archivo de texto

Notapor ghiar » 2012-01-24 23:21 @014

Hola, tengo un archivo txt, y quiero mostrarlo de una forma ordenada... Por ejemplo, si está de la sig. forma:

Sintáxis: [ Descargar ] [ Ocultar ]
Using text Syntax Highlighting
alumnoa xxx                       alumno    matricula    grado
matricula xxx                     aaaaa    aaaaaa        aaaaaa
grado xxx                         ssssss    sssss       sssssss
alumnob sss                       ddd      dddddd      dddddd
matricula sss        =======>
grado sss              
alumnoc ddddd        
matricula xxx
grado xxx
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4


¿Podrías ayudarme con eso?
ghiar
Perlero nuevo
Perlero nuevo
 
Mensajes: 1
Registrado: 2012-01-24 23:13 @009

Publicidad

Re: Ordenar un archivo de texto

Notapor explorer » 2012-02-02 08:56 @413

Bienvenido a los foros de Perl en español, ghiar.

Tienes que abrir y leer el fichero de entrada, línea por línea.

Por cada línea, guardas la información leída, según el primer campo. Ejemplo:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. if ($linea =~ /^alumno. (.+)$/) {
  2.     $nombre = $1;
  3. }
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4
Ahí, estamos mirando si la $linea coincide con el patrón, que quiere decir: buscamos por aquello que comienza (^) por la palabra 'alumno', seguida por una letra cualquiera (.), seguida por un espacio en blanco, y todo lo demás, hasta el final ($), lo capturamos (con los paréntesis), en la variable $1.

Entonces, si la línea coincide con el patrón, en $1 tenemos el nombre del alumno, así que guardamos en una variable temporal.

Si la línea es de grado, sabemos que hemos leído la última parte del alumno, así que aprovechamos y escribimos toda la información del alumno en el fichero de salida, en una sola línea.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España


Volver a Básico

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 71 invitados