Perl en Español

  1. Home
  2. Tutoriales
  3. Foro
  4. Artículos
  5. Donativos
  6. Publicidad
 

Selección aleatoria de líneas

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Básico
Mensaje Vie May 16, 2008 4:31 am
Reina
Perlero Nuevo
Perlero Nuevo
Registrado: 25 Abr 2008
Mensajes: 18
Selección aleatoria de líneas Responder citando

Buenas perler@s:

Se me presenta el siguiente problema: tengo una lista en .txt con muchísimos equipos, para que os hagáis una idea os he seleccionado una muestra de ésta.

Código:
(null);PC-000000;
(null);PC-000001;
(null);PC-000008;
(null);PC-001558;
(null);PC-987654654;
(null);PT-6542358;
(null);PT-9851357;
(null);PT-9873215;
(null);PT-902548;
(null);PT-865472;
(null);PT-999999;
(null);PT-002255;

La cosa es que me gustaría hacer un script que me seleccionara por ejemplo 500 líneas de éstas de forma aleatoria. ¿Cómo se podría hacer?

Gracias y saludos.
Mensaje Vie May 16, 2008 6:44 am
monoswim
Vive para Perl en Español
Vive para Perl en Español
Registrado: 18 Nov 2003
Mensajes: 716
Ubicación: Buenos Aires
Responder citando

Si quieres sacar un número aleatorio del 1 al 999 podrías hacer
Perl:
my $randnum = int( rand() * 1000 );


y si tienes en un array todos los elementos puedes hacer
Perl:
my $elemento = $array[$randnum];


Y si quieres 500 solamente tienes que hacer esa función 500 veces, en un bucle claro está...

Espero que te sirva.

Saludos
Mensaje Vie May 16, 2008 7:01 am
explorer
Moderador
Moderador
Registrado: 24 Jul 2005
Mensajes: 4143
Ubicación: Valladolid, España
Responder citando

Perl:
#!/usr/bin/perl
open HOSTS, "<hosts.txt";
my @hosts = <HOSTS>;
close HOSTS;

print splice( @hosts, rand @hosts, 1) for 1 .. 500;
Publicar nuevo tema   Responder al tema    Foros de discusión -> Básico Todas las horas son GMT - 6 Horas
Página 1 de 1



Powered by phpBB © 2001, 2005 phpBB Group