• Diventa Fan!
  • Seguici Twitter
  • Seguici su Google+

Quanto sei veloce a scrivere? Scopriamolo creando un piccolo script bash [Linux]

Scritto in Linux, Ubuntu - Da Tanino Rulez - lunedì 27 giugno 2011 - 0 Commenti

Quanto siete veloci a scrivere? Volete fare una gara con i vostri amici oppure siete semplicemente curiosi di scoprirlo? Non servono programmi particolari nè servizi online per poter sapere quanto siete abili e rapidi con la tastiera; ciò che occorre è un semplice script bash di meno di 10 righe di codice.

L’idea è in realtà molto semplice: la misura della velocità di battitura significa sostanzialmente misurare il numero di parole digitate in un determinato periodo di tempo. Una delle unità più utilizzata è WPM (parole al minuto). Forse non molto accurata e scientifica ma può comunque essere un’indicatore orientativo della nostra capacità di essere padroni della tastiera.

Il cuore dello script è praticamente questa riga di codice:

typing_speed_in_wpm = num_words / ( (end_time - start_time) / 60 )

che serve a calcolare le parole al minuto (WPM) digitate. Questo è invece lo script completo che dovete copiare pari pari:

#!/bin/sh
# speed.sh: una piccola utility per determinale la velocità di scrittura.
prompt="Inizia a scrivere il tuo testo. Quando hai finito, premi Ctrl-d per terminare."
echo "\n$prompt \n"
start_time=`date +%s`
words=`cat|wc -w`
end_time=`date +%s`
speed=`echo "scale=2; $words / (( $end_time - $start_time )/60)" | bc`
echo "\n\nHai una media di $speed parole al minuto."

Aprite un editor di testo, incollateci il testo e salvatelo con il nome di speed.sh ad esempio. Ora dovete assegnare i permessi di esecuzione e per farlo, vi basterà spostarvi nella cartella dove avete salvato il file speed.sh e digitare:

chmod +x speed.sh

E per lanciarlo digitate:

./speed.sh

Ora spieghiamo un pò cosa rappresentano alcune entità e funzioni del codice creato:

  • date: serve a conoscere la data corrente grazie anche all’aggiunta del parametro %s che ci restituisce il numero di secondi a partire dal 1970-01-01 00:00:00 UTC.
  • wc: è il comando che Linux mette a disposizione per contare il numero di parole in un file. Nel nostro caso conterrà il numero di parole che abbiamo digitato sullo standard input.
  • cat: un comando che serve a concatenare i file o a mostrare l’output di qualcosa sullo standard output (il terminale nel nostro caso).
  • bc: serve a dare una precisione arbitraria del linguaggio del calcolatore.

Il mio consiglio è quello di prendere una porzione di testo, magari da wikipedia o da un libro, e provare a trascriverla e vedere quanto siete veloci :) Io sono una lumaca da come potete notare dall’immagine :D

via | linuxjournal