Ricerca nel sito web

Tutorial sui comandi Linux Shuf con esempi


Il comando Shuf viene utilizzato per generare permutazioni casuali nei sistemi operativi Linux e simili a Unix. Usando il comando shuf, possiamo mescolare casualmente le righe di un determinato file di input. Il comando Shuf fa parte di GNU Coreutils, quindi non devi preoccuparti dell'installazione. In questo breve tutorial, lascia che ti mostri alcuni esempi del comando shuf.

Il tutorial sul comando Shuf con esempi

Ho un file denominato ostechnix.txt con i seguenti contenuti.

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

Ora mostriamo le righe sopra in ordine casuale. Per fare ciò, esegui:

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

Vedere? Il comando precedente ha randomizzato l'ordine delle righe nel file denominato "ostechnix.txt" e ha restituito il risultato.

Potresti voler scrivere l'output su un altro file. Ad esempio, voglio salvare l'output in un file denominato output.txt. Per fare ciò, crea prima il file output.txt:

touch output.txt

Quindi, scrivi l'output su quel file utilizzando il flag -o come di seguito.

shuf ostechnix.txt -o output.txt

Il comando precedente mescolerà il contenuto del file ostechnix.txt in modo casuale e scriverà l'output nel file output.txt. Puoi visualizzare il contenuto del file output.txt utilizzando il comando:

$ cat output.txt

line2
line8
line9
line10
line1
line3
line7
line6
line4
line5

Voglio solo visualizzare una qualsiasi riga casuale dal file. Come posso farlo? Semplice!

$ shuf -n 1 ostechnix.txt 
line6

Allo stesso modo, possiamo scegliere le prime "n" voci casuali. Il seguente comando visualizzerà solo le prime cinque voci casuali.

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

Invece di leggere le righe da un file, possiamo passare direttamente gli input utilizzando il flag -e come di seguito.

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

Puoi anche passare a mescolare i numeri:

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

Per sceglierne rapidamente uno dall'intervallo specificato, utilizza invece questo comando.

shuf -n 1 -e 1 2 3 4 5

Oppure scegli tre numeri casuali come di seguito.

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

Possiamo anche generare numeri casuali all'interno di un intervallo particolare. Ad esempio, per visualizzare numeri casuali compresi tra 1 e 10, utilizzare semplicemente:

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

Per maggiori dettagli, fare riferimento alle pagine man.

man shuf

Articoli correlati