Comando shuf en Linux con ejemplos

El comando shuf en Linux escribe una permutación aleatoria de las líneas de entrada en la salida estándar. Seudoaleatoriza una entrada de la misma manera que se barajan las cartas. Es parte de GNU Coreutils y no es parte de POSIX. Este comando lee desde un archivo o una entrada estándar en bash y aleatoriza esas líneas de entrada y muestra la salida. Al igual que otros comandos de Linux, el comando shuf viene con la opción de ayuda.

Sintaxis:

shuf [OPTION] [FILE] //file shuf
shuf -i LO-HI [OPTION] // range shuf
shuf -e [OPTION]... [ARG] //list shuf

Comando shuf sin ninguna opción o argumento.

shuf

Cuando se usa el comando shuf sin ningún argumento en la línea de comando, toma la entrada del usuario hasta que se ingresa CTRL-D para terminar el conjunto de entradas. Muestra las líneas de entrada en forma aleatoria. Si se ingresan 1, 2 y 3 como líneas de entrada, entonces genera 1.2 y 3 en orden aleatorio en la salida como se ve en la imagen a continuación:

shuf command in linux

Maneras de usar el comando shuf:

1. Ordenar archivos

shuf [option] [file]

Cuando el comando shuf se usa en la forma anterior, es decir, sin la opción -e o -i, entonces funciona como un archivo shuf, es decir, mezcla el contenido del archivo. El nombre_archivo es el último parámetro del comando shuf y, si no se proporciona, la entrada debe proporcionarse desde el shell o la tubería. 

Considere un ejemplo donde la entrada se toma de un archivo:

shuf file.txt

Supongamos que file.txt contiene 6 líneas, luego el comando shuf muestra las líneas de entrada en orden aleatorio como salida.

file shuf in linux

Se puede aleatorizar cualquier número de líneas usando la opción -n.

shuf -n 2 file.txt

Esto mostrará dos líneas aleatorias cualesquiera del archivo.

to display any two random lines from the file

Considere un ejemplo donde la entrada se toma de la tubería:

{
seq 5 | shuf
}

seq 5 devuelve los números enteros secuencialmente del 1 al 5 mientras que el comando shuf lo toma como entrada y mezcla el contenido, es decir, los números enteros del 1 al 5. Por lo tanto, 1 a 5 se muestra como salida en orden aleatorio.

fule shuf command pied with seq command

2. Lista aleatoria

shuf -e [OPTION]... [ARG]

Cuando la opción -e se usa con el comando shuf, funciona como una lista shuf. Los argumentos del comando se toman como la línea de entrada para el shuf.

Considere un ejemplo:

shuf -e A B C D E

Tomará A, B, C, D, E como líneas de entrada y las mezclará para mostrar la salida

list shuf in linux

Se puede mostrar cualquier número de líneas de entrada usando la opción -n junto con la opción -e.

shuf -e -n 1 A B C D E

Esto mostrará cualquiera de las entradas.

list shuf

3. Cambio de rango

shuf -i LO-HI [OPTION]

Cuando se usa la opción -i junto con el comando shuf, actúa como un rango shuf. Requiere un rango de entrada como entrada donde L0 es el límite inferior mientras que HI es el límite superior. Muestra números enteros de L0-HI en forma aleatoria.

range shuf

Publicación traducida automáticamente

Artículo escrito por mharshita31 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *