• Domingo 22 de Diciembre de 2024, 13:38

Autor Tema:  Un $ O Un Programa Para Extraerlo  (Leído 2812 veces)

su -

  • Moderador
  • ******
  • Mensajes: 2349
    • Ver Perfil
Un $ O Un Programa Para Extraerlo
« en: Sábado 2 de Julio de 2005, 23:17 »
0
Hey SoloCodiger@s, les tengo una pregunta que quisas los ponga a romper coco   :brickwall:

Tengo un testo plano de X lineas, palabras....
De este, quiero sacar una palabra, por ejemplo :

Tengo esto :

Hola a : su -
de : su - * 2

y quiero sacar de la linea 1 y 2 lo que esta al lado de los dos puntos ( : )
Como ago esto?  ;)
*******PELIGRO LEE ESTO!!*******

There is no place like 127.0.0.1

Conecto luego existo, no conecto luego insisto.

su -

  • Moderador
  • ******
  • Mensajes: 2349
    • Ver Perfil
Re: Un $ O Un Programa Para Extraerlo
« Respuesta #1 en: Miércoles 6 de Julio de 2005, 16:55 »
0
:lol:  Ja, ja
Bamos!
 :huh:  map, split, grep s// ?
*******PELIGRO LEE ESTO!!*******

There is no place like 127.0.0.1

Conecto luego existo, no conecto luego insisto.

su -

  • Moderador
  • ******
  • Mensajes: 2349
    • Ver Perfil
Re: Un $ O Un Programa Para Extraerlo
« Respuesta #2 en: Viernes 8 de Julio de 2005, 03:45 »
0
:devil:  Je, je, je! no pudieron.
Bueno, bueno, les doy el codigillo.
Citar
sub sdlp {
  my ($testo, $num) = @_;;
  my @linea   = split /\n/, $testo;
  my $numas = $num + 1;
  if( grep {$linea[$num] eq /\b([^a-zA-Z0-9\.\-\+\~]):([^a-zA-Z0-9\.\-\+\~])\b/i}$head){print "$linea[$num]\n";}
  else {sdlp($testo, $numas)};
}
sdlp("$mi_archivo", 0);

Bueno, es algo parecido

Nota en la  :(  del codigo en la linea 5 es en realidad : ( (sin espacio)
*******PELIGRO LEE ESTO!!*******

There is no place like 127.0.0.1

Conecto luego existo, no conecto luego insisto.

explorer

  • Miembro activo
  • **
  • Mensajes: 69
    • Ver Perfil
Re: Un $ O Un Programa Para Extraerlo
« Respuesta #3 en: Sábado 8 de Julio de 2006, 23:40 »
0
Código: Text
  1. #!/usr/bin/perl -l
  2. use warnings;
  3. use strict;
  4.  
  5. my $fichero = 'mensajes.txt';
  6. open my $fh, '<', $fichero
  7.     or die "ERROR: No pude abrir el fichero $fichero: $!\n";
  8.  
  9. while ( my $linea = <$fh> ) {
  10.     chomp( $linea );
  11.     if ( $linea =~ /(\w+) *: *(\w+)/ ) {
  12.         print "$1 : $2";
  13.     }
  14. }
  15.  
  16. close $fh;
  17.