Comprender el comando bash shuf

Comprender el comando bash shuf

“El comando shuf es útil para arrastrar al azar las líneas de entrada a la salida estándar. El comando shuf toma la entrada de los archivos o la entrada estándar, aleatoriza la entrada y proporciona salida. Funciona como barajan las tarjetas y saca una salida al azar o organiza al azar las tarjetas dependiendo de las opciones que le dan.

El shuf funciona de tres maneras. Puede usarlo como rango, lista o archivo shuf. Veamos las diversas formas en que puede usar el comando shuf."

Usando el comando bash shuf

Shuf es parte de los coreutils de GNU, y puede abrir su página de ayuda para ver las diversas opciones que puede usar.

Si ejecuta el comando shuf sin argumento, espera entradas en la línea de comando. Una vez que presionas Ctrl + D, Da la salida aleatoria de su entrada. Eche un vistazo a la imagen a continuación que muestra cómo funciona en acción.

Además, puede combinar SHUF tuviendo la salida de otro comando. Por ejemplo, puede barajar la lista de archivos en el directorio actual usando LS.

En la salida anterior, observe cómo el uso de SHUF aleatoriza la lista del contenido de nuestro directorio actual.

1. Usar shuf como archivo

Supongamos que tiene un archivo que desea aleatorizar. Puede usar el comando shuf seguido del archivo que desea barajar. En este caso, el contenido del archivo se barajará y la salida se mostrará en la salida estándar.

Puedes usar la sintaxis a continuación.

$ SHUF File-Name

En el ejemplo anterior, estamos barajando todas las líneas en el archivo. Sin embargo, usando el -norte bandera, puede agregar la cantidad de líneas que desea barajar. Veamos al azar tres líneas y veamos qué salida obtenemos.

$ shuf -n 3 nombre de archivo

Observe cómo con cada baraja, estamos obteniendo una salida aleatoria.

2. Usando shuf como rango

Puede barajar las entradas en un rango dado. Solo necesita agregar el límite inferior y superior. Shuf luego aleatorizará la entrada en el rango dado, siempre que agregue el -i opción.

Tengamos un ejemplo de asignación de números de 11 a 19. Para eso, ejecutaremos el comando a continuación.

$ shuf -i 11-19

Si quisiera obtener solo una salida del rango aleatorizado, podría usar el -norte Como se muestra abajo.

$ shuf -i 11-19 -n 1

Con el -n, solo puedes obtener una salida única. Sin embargo, agregue el indicador -r si desea permitir la repetición de la salida aleatoria. De esa manera, está haciendo posible que la salida sea el mismo valor al mostrar más de una línea.

Aquí hay un ejemplo de arrastrar un rango y permitir la visualización de tres salidas que pueden ser repetitivas.

3. Usar shuf como lista

Cuando desee agregar argumentos como una lista en su comando shuf, use el -mi opción. Los argumentos que siguen al -e serán tratados como la entrada.

Aquí hay un ejemplo de aleatorizar una lista de números de alfabeto.

Además, puede aleatorizar una lista y decidir solo emitir dos líneas de salida utilizando el -norte Como en la salida a continuación.

Escribir la salida a un archivo

Si desea guardar la salida aleatoria de su archivo, rango o lista, puede usar el -O seguido del nombre del archivo de salida.

Aleatorizamos un rango y guardemos un archivo nuevo, como se muestra a continuación.

Conclusión

Bajando de entradas en Linux es posible gracias al comando shuf. Esta guía ha introducido el comando bash shuf y se les ha dado ejemplos de cómo usarla con varias opciones para obtener diferentes salidas. Espero que hayas encontrado el artículo útil.