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
line10Ora mostriamo le righe sopra in ordine casuale. Per fare ciò, esegui:
$ shuf ostechnix.txt
line2
line8
line5
line10
line7
line1
line4
line6
line9
line3Vedere? 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.txtIl 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
line5Voglio solo visualizzare una qualsiasi riga casuale dal file. Come posso farlo? Semplice!
$ shuf -n 1 ostechnix.txt
line6Allo 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
line3Invece 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
line2Puoi anche passare a mescolare i numeri:
$ shuf -e 1 2 3 4 5
3
5
1
4
2Per sceglierne rapidamente uno dall'intervallo specificato, utilizza invece questo comando.
shuf -n 1 -e 1 2 3 4 5Oppure scegli tre numeri casuali come di seguito.
$ shuf -n 3 -e 1 2 3 4 5
3
5
1Possiamo 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
5Per maggiori dettagli, fare riferimento alle pagine man.
man shuf