El tutorial del comando Shuf con ejemplos para principiantes

El comando Shuf se utiliza para generar permutaciones aleatorias en sistemas operativos Linux y similares a Unix. Usando el comando shuf, podemos mezclar aleatoriamente las líneas de un archivo de entrada dado. El comando Shuf es parte de GNU Coreutils, por lo que no tiene que preocuparse por la instalación. En este breve tutorial, déjame mostrarte algunos ejemplos del comando shuf.

El tutorial del comando Shuf con ejemplos

tengo un archivo llamado ostechnix.txt con los siguientes contenidos.

                      
                        $ cat ostechnix.txt 
                      
                      
line1
line2
line3
line4
line5
line6
line7
line8
line9
line10
                    

Ahora mostremos las líneas anteriores en un orden aleatorio. Para hacerlo, ejecuta:

                      
                        $ shuf ostechnix.txt 
                      
                      
line2
line8
line5
line10
line7
line1
line4
line6
line9
line3
                    

¿Ver? El comando anterior aleatorizó el orden de las líneas en el archivo llamado “ostechnix.txt” y generó el resultado.

Es posible que desee escribir la salida en otro archivo. Para examplequiero guardar la salida en un archivo llamado salida.txt . Para hacerlo, primero cree el archivo output.txt:

                      $ touch output.txt
                    

Luego, escriba la salida en ese archivo usando -O bandera como a continuación.

                      $ shuf ostechnix.txt -o output.txt
                    

El comando anterior mezclará aleatoriamente el contenido del archivo ostechnix.txt y escribirá la salida en el archivo output.txt. Puede ver el contenido del archivo output.txt usando el comando:

                      
                        $ cat output.txt
                      
                      

line2
line8
line9
line10
line1
line3
line7
line6
line4
line5
                    

Solo quiero mostrar cualquiera de las líneas aleatorias del archivo. ¿Cómo puedo hacerlo? ¡Sencillo!

                      
                        $ shuf -n 1 ostechnix.txt
                      
                       
line6
                    

Del mismo modo, podemos elegir las primeras “n” entradas aleatorias. El siguiente comando mostrará solo las primeras cinco entradas aleatorias.

                      
                        $ shuf -n 5 ostechnix.txt
                      
                       
line10
line4
line5
line9
line3
                    

En lugar de leer las líneas de un archivo, podemos pasar directamente las entradas usando -mi bandera como a continuación.

                      
                        $ shuf -e line1 line2 line3 line4 line5
                      
                      
line1
line3
line5
line4
line2
                    

También puedes pasar barajar los números:

                      
                        $ shuf -e 1 2 3 4 5
                      
                      
3
5
1
4
2
                    

Para elegir rápidamente cualquiera del rango dado, use este comando en su lugar.

                      $ shuf -n 1 -e 1 2 3 4 5
                    

O bien, elija tres números aleatorios como se muestra a continuación.

                      
                        $ shuf -n 3 -e 1 2 3 4 5
                      
                      
3
5
1
                    

También podemos generar números aleatorios dentro de un rango particular. Para examplepara mostrar números aleatorios entre 1 y 10, simplemente use:

                      
                        $ shuf -i 1-10
                      
                      
1
9
8
2
4
7
6
3
10
5
                    

Para obtener más detalles, consulte las páginas man.

                      $ man shuf
                    

Related Posts