Saltar al contenido →

La utilidad del comando Shuf en Linux

Un comando que para mi gusto no se tiene muy presente pero puede ser muy útil cuando se necesita generar permutaciones aleatorias, es el comando Shuf que se encuentra en cualquier sistema basado en Linux. Explico un par de ejemplos útiles.

Uno básico pero bastante utilizable es generar número aleatorios dentro de un tope mínimo y máximo

shuf -i 1-9999 -n 10000

Esto nos otorgaría 10,000 número aleatorios que se encuentren dentro 1 a 9999, y como esto es aleatorio es probable que en este ejemplo nos entregue números repetidos.

Otra utilidad curiosa que tiene este comando es la lectura aleatoria de un archivo, es decir, si le pasas un archivo te va a dar como salida todas las líneas del archivo tomadas de forma aleatoria.

Suponiendo de que el contenido de archivo.txt es el siguiente


 cat archivo.txt 
linea1
linea2
linea3
linea4
linea5
linea6
linea7
linea8
linea9
linea10

Al ejecutar shuf sobre el archivo obtendrías algo como


 shuf archivo.txt 
linea6
linea5
linea8
linea3
linea2
linea4
linea1
linea10
linea9
linea7

Lo cual puede ser útil si por ejemplo quieres ingresar registros a una base de datos de manera aleatoria o tomar valores de forma aleatorio de la entrada de un archivo para un procesamiento matemático.

En fin la imaginación y el uso de este comando queda en manos del lector.

Publicado en Linux