Por supuesto, todos valoramos la libertad para siempre. En particular, la libertad de elección. Pero a veces es una carga. Miró, por ejemplo, en la carpeta con el video, y hay un montón de películas sin tratar. ¿En qué parar, qué elegir? ¡Qué molestia! Solo quiero obtener una moneda y, por una simple coincidencia, "cara-cruz" resuelve el problema, pero, ay, oh, ¿no puedo encontrar una moneda de 20-30-40-? por las partes Afortunadamente, existe una moneda de este tipo en Linux. A quién le importa, bajo cat.
No necesitas instalar nada. Ya está todo en cualquier distribución de Linux. Este es el comando shuf, un generador de valores aleatorios. Puede familiarizarse completamente con su funcionalidad escribiendo "man shuf", pero hablaré de dos ejemplos específicos.
Entonces, volvemos a nuestra carpeta con películas (“cd/home/usuario/video”, por ejemplo) e ingresamos lo siguiente:
$ ls | shuf -n1
La primera parte ya debería ser familiar para todos, el comando ls nos da el contenido de la carpeta. A continuación, canalizamos la salida del comando ls al comando shuf, que selecciona aleatoriamente una línea de esta salida. Ese es un archivo de todo el contenido de la carpeta (o más bien, su nombre). Aleatorio. ¿Quieres no uno, sino un par o más? Bien, en lugar de "-n1", escribe "-n2" o "-n3" u otro valor.
Segundo ejemplo. Tenemos una lista de algo en stock. Se encuentra en un archivo de texto sin formato. Tecleamos en la consola:
$ cat spisok.txt | shuf -n1
De todos modos, solo que en lugar de la carpeta, tenemos un archivo de texto. El comando cat envía el contenido del archivo a la terminal y el comando shuf selecciona una cadena aleatoria de este contenido. Eso es todo. Obviamente, puedes pensar en otros casos de uso.