Il comando Shuf viene utilizzato per generare permutazioni casuali nei sistemi operativi simili a Linux e Unix. Usando il comando shuf, possiamo mescolare le righe di un dato file di input in modo casuale. Il comando Shuf fa parte di GNU Coreutils, quindi non devi preoccuparti dell'installazione. In questo breve tutorial, lascia che ti mostri alcuni esempi di comando shuf.
Esercitazione sul comando Shuf con esempi
Ho un file chiamato otechnix.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 farlo, 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 "otechnix.txt" e ha prodotto il risultato.
Potresti voler scrivere l'output in un altro file. Ad esempio, voglio salvare l'output in un file denominato output.txt . Per farlo, crea prima il file output.txt:
$ touch output.txt
Quindi, scrivi l'output in quel file usando -o segnala come sotto.
$ 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 usando il comando:
$ cat output.txt line2 line8 line9 line10 line1 line3 line7 line6 line4 line5
Voglio solo visualizzare una qualsiasi delle righe casuali dal file. Come posso farlo? Semplice!
$ shuf -n 1 ostechnix.txt line6
Allo stesso modo, possiamo scegliere le prime "n" voci casuali. Il comando seguente 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 usando -e segnala come sotto.
$ shuf -e line1 line2 line3 line4 line5 line1 line3 line5 line4 line2
Puoi anche passare mescolando i numeri:
$ shuf -e 1 2 3 4 5 3 5 1 4 2
Per selezionarne 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, usa 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