Pagine

Questo Blog non è compatibile con Internet Explorer 8. Usare un navigatore alternativo per una visualizzazione ottimale

giovedì 20 dicembre 2012

Nevica sul terminale



La neve artificiale non è solamente per i campi da sci, ma anche per le interfacce a riga di comando di *NIX.

Con una semplice command line si può far nevicare nel proprio terminale (o fare uno scherzo ad un collega).

Questa è la versione ASCII (tutta su una riga):

clear;while :;do echo $LINES $COLUMNS $(($RANDOM%$COLUMNS));sleep 0.1;done|gawk '{a[$3]=0;for(x in a) {o=a[x];a[x]=a[x]+1;printf "33[%s;%sH ",o,x;printf "33[%s;%sH*33[0;0H",a[x],x;}}'

questa invece è la versione UNICODE:

clear;while :;do echo $LINES $COLUMNS $(($RANDOM%$COLUMNS)) $(printf "\u2743\n");sleep 0.1;done|gawk '{a[$3]=0;for(x in a) {o=a[x];a[x]=a[x]+1;printf "33[%s;%sH ",o,x;printf "33[%s;%sH%s 33[0;0H",a[x],x,$4;}}'

Nell’esempio UNICODE viene utilizzato il carattere 0×2743 HEAVY TEARDROP-SPOKED PINWHEEL ASTERISK, ma si possono utilizzare altri simboli simili del range Dingbats.

                             


Luigi Rosa
(via climagic)

Nessun commento:

Posta un commento