In questi giorni il comando shuf.shuf sta facendo impazzire la rete. Come mai?
Questo comando Unix permette di generare permutazioni casuali delle righe di un file, restituendo il risultato nello standard output del tuo terminale.
Come funziona il comando? Ipotizziamo di creare un file di testo text.txt scrivendo 4 nomi: dando il comando shuf text.txt i 4 nomi verranno mostrati in ordine casuale. Ad esempio:
Inoltre, puoi anche individuare una linea casuale dal file, limitando l’output al numero specificato con l’opzione -n. Quindi, shuf –n 1 text.txt:
Con il comando shuf inoltre potrai:
- Randomizzare le righe di un file: shuf filename.
- Ottenere solo 5 righe a livello di output: shuf –n 5 filename.
- Generare un numero random all’interno di un range: shuf –i 1-10.
Cos’è successo nel web?
Tutto ha inizio con un vecchio post su StackOverflow in cui un utente chiedeva come effettuare la permutazione di N righe di un file tramite uno script Bash: la soluzione che gli viene suggerita è di utilizzare shuf immettendo il comando shuf –n N input > output.
A questo punto, un terzo utente, Ash, commenta che tramite comando shuf è riuscito a permutare un file composto da 78 miliardi di righe in un solo minuto: questo numero sembra poco veritiero visto che alcune prove recenti con un iMac hanno portato a gestire un massimo di 600 milioni di righe al minuto, un numero fenomenale ma molto lontano da 78 miliardi.
Il web si è scatenato con un sacco di meme divertenti, come questo:
E anche Google Trends ha, ovviamente, registrato il boom nelle ricerche riguardanti shuf: