Comprensione del comando bash shuf

Comprensione del comando bash shuf

“Il comando shuf è utile per mescolare casualmente le linee di input all'uscita standard. Il comando SHUF prende input dai file o dall'input standard, randomizza l'ingresso e fornisce output. Funziona come il modo in cui mescoli le carte e tiri un output casuale o organizza casualmente le carte in base alle opzioni che le offri.

Lo shuf funziona in tre modi. Puoi usarlo come intervallo, elenco o file shuf. Vediamo i vari modi in cui puoi usare il comando shuf."

Usando il comando Bash Shuf

Shuf fa parte dei coreutils GNU e puoi aprire la sua pagina di aiuto per vedere le varie opzioni che puoi usare.

Se si esegue il comando SHUF senza alcun argomento, si aspetta input sulla riga di comando. Una volta premuto Ctrl + d, fornisce l'output randomizzato del tuo input. Dai un'occhiata all'immagine qui sotto che mostra come funziona in azione.

Inoltre, è possibile combinare SHUF, convocando l'output di un altro comando. Ad esempio, puoi mescolare l'elenco dei file nella directory corrente utilizzando ls.

Nell'output sopra, nota come l'uso di SHUF randomizza l'elenco del contenuto della nostra directory corrente.

1. Usando SHUF come file

Supponiamo di avere un file che vuoi randomizzare. È possibile utilizzare il comando shuf seguito dal file che si desidera mescolare. In questo caso, il contenuto del file verrà mescolato e l'output verrà visualizzato sull'output standard.

È possibile utilizzare la sintassi di seguito.

$ shuf file-nome

Nell'esempio sopra, stiamo mescolando tutte le righe nel file. Tuttavia, usando il -N Flag, puoi aggiungere il numero di righe che desideri mescolare. Randomizziamo tre righe e vediamo quale output otteniamo.

$ shuf -n 3 file -name

Notare come con ogni shuffle, stiamo ottenendo un output casuale.

2. Usando SHUF come intervallo

Puoi mescolare gli input in un determinato intervallo. Devi solo aggiungere il limite inferiore e superiore. Shuf randomizzerà quindi l'input nell'intervallo dato, a condizione che tu aggiunga il -io opzione.

Abbiamo un esempio di numeri randomizzanti da 11 a 19. Per questo, eseguiremo il comando di seguito.

$ shuf -i 11-19

Se si desidera ottenere un solo output dall'intervallo randomizzato, potresti usare il -N come mostrato di seguito.

$ shuf -i 11-19 -n 1

Con il -N, puoi ottenere solo un output unico. Tuttavia, aggiungi il flag -r se si desidera consentire la ripetizione di output randomizzato. In questo modo, stai rendendo possibile che l'output sia lo stesso valore durante la visualizzazione di più di una riga.

Ecco un esempio di mescolare un intervallo e consentire la visualizzazione di tre uscite che possono essere ripetitive.

3. Usando SHUF come elenco

Quando si desidera aggiungere argomenti come elenco nel comando shuf, usa il -e opzione. Gli argomenti che seguono il -e saranno trattati come l'input.

Ecco un esempio di randomizzazione di un elenco di numeri di alfabeto.

Inoltre, è possibile randomizzare un elenco e decidere di produrre solo due linee di uscita usando il -N Come nell'output di seguito.

Scrivere l'output in un file

Se si desidera salvare l'output randomizzato del tuo file, intervallo o elenco, è possibile utilizzare il -o seguito dal nome del file di output.

Randomizziamo un intervallo e salviamolo in un nuovo file, come mostrato di seguito.

Conclusione

La mescolanza degli input in Linux è possibile grazie al comando SHUF. Questa guida ha introdotto il comando bash shuf e forniti esempi su come usarlo con varie opzioni per ottenere output diversi. Spero che tu abbia trovato l'articolo utile.