web analytics

Linux, Shuf: il comando UNIX che sta facendo impazzire la rete

shuf

In questi giorni spopolano i Meme riguardanti il comando Unix shuf. shufpermette, tra le altre cose, di effettuare delle permutazioni casuali delle righe di un file e restituisce il risultato nello standard output  del vostro terminale. Come funziona? Supponiamo di creare un file di testo test.txt e di scriverci quattro nomi. Dando il comando

    • shuf test.txt

verranno stampati i quattro nomi in ordine casuale. Ecco un esempio:

shuf comando

Shuf permette anche di scegliere una linea casuale dal file usando l’opzione -n. Questo limita l’output al numero specificato

  • shuf -n 1 test.txt

shuf linux

L’opzione -e permette la permutazione dallo standard input:

shuf -e uno due tre

Se dovete decidere chi guida al sabato sera in modo del tutto casuale sapete come fare:

shuf -e Marco Matteo Luca Federico

Inoltre shuf permette di:

  • Randomizzare le righe di un file
    shuf filename
  • Ottenere in output solo cinque righe
    shuf -n 5 filename
  • Scrivere l’output su un altro file
    shuf filename -o output_filename
  • Generare un numero random in un range
    shuf -i 1-10

Su Ubuntu dovrebbe essere installato di default, altrimenti date

  • apt-get install coreutils

Per ulteriori dettagli su questo comando vi rimando alla relativa pagina del manuale.

Shuf fa impazzire il Web

Avete notato decine di meme su shuf in questi giorni? Tutto nasce da un post su StackOverflow di qualche anno fa a cui nessuno aveva fatto caso. Un utente chiede come effettuare mediante uno script Bash la permutazione di N righe di un file. Un altro utente gli risponde consigliandogli di usare shuf:

  • shuf -n N input > output

Un terzo utente, Ash, sotto questa risposta ha commentato dicendo che con shuf è riuscito a permutare in un minuto un file costituito da 78 miliardi di righe. In realtà il numero riportato da Ash pare poco veritiero, anche se il tempo impiegato dipende strettamente dall’hardware della macchina. A titolo informativo alcune prove con un iMac di qualche anno fa hanno portato a gestire 10 milioni di righe al secondo, quindi 600M al minuto, che è ben lungi da 78 miliardi.

Qualcuno di Programmer Humor ha notato questa risposta e il seguito potete immaginarlo. Su Reddit il primo meme ha oltre 21 mila like:

shuf meme

Ovviamente Google Trends ha registrato un picco nelle ricerche:

shuf usa google trends

E i meme si sprecano:

meme 2

shuf meme 3

Ve ne condivido qualcuno anche sul nostro canale Telegram e sulla pagina Facebook del blog😉😉😉

sharing-caring-1Seguiteci sul nostro canale Telegram, sulla nostra pagina Facebook e su Google News. Nel campo qui sotto è possibile commentare e creare spunti di discussione inerenti le tematiche trattate sul blog.