E' da molto che non scrivo sul blog ma, sapete, la vita alcune volte pone degli ostacoli (mi verrebbe da dire insormontabili, ma non lo dico) la cui soluzione non è a portata di mano; metteteci pure che da me il caldo non sta dando alcuna tregua.
Certo, ci sarebbe il progetto bash....tranquilli, non è stato affatto abbandonato! Datemi il tempo di organizzarmi con il caro Lightuono e, quanto prima, si riparte!
Ci sarebbe anche l'ansia che, puntualmente, ogni anno mi assale proprio in questo periodo! Quando sta per finire l'estate, ho come l'impressione che debba fare qualcosa di importante! Una stranissima sensazione che non mi ha mai abbandonato nella vita (purtroppo). E' come se dovessi andare a scuola senza aver fatto i compiti. Vabbè, lasciamo stare...
Per non parlare poi di quest'aria pesante che si respira a livello mondiale, questa crisi interminabile, queste borse altalenanti. Che poi non è solo una crisi economica. Viene messo in discussione un sistema...Che "Qualcuno" ce la mandi buona!
Andiamo a noi. Oggi voglio parlare di un potentissimo programma che permette di convertire unità di misure. Il tool in questione si chiama Units ed è ad interfaccia testuale, ovvio! :D
Su Units ci sarebbe veramente tanto da dire, ma mi limito a descriverne l'uso interattivo e quello non interattivo.
anzitutto installiamolo
sudo apt-get install units
Iniziamo con l'uso interattivo
apriamo il terminale e, al prompt, scriviamo
units
Il programma stamperà qualcosa di simile
2411 units, 71 prefixes, 33 nonlinear units
You have:
Come potete vedere, il programma ci chiede di digitare la misura o quantità che si vuole convertire
Poniamo il caso che si voglia convertire 10km in metri
allora scrivo
You have: 10km
e subito il programma ci chiederà:
You want:
cioè ci chiede di indicare l'unità in cui deve avvenire la conversione. Dato che noi dobbiamo convertire 10km in metri, dovremo digitare
You want: meter
ecco il risultato
* 10000 #10km=10.000m
/ 0.0001
per capire il secondo valore, vi consiglio di ripetere il tutto, ma aggiugendo a units l'opzione -v (verbose)
così
$ units -v
2411 units, 71 prefixes, 33 nonlinear units
You have: 10km
You want: meters
risultato
10km = 10000 meter
10km = (1 / 0.0001) meter
Facciamo un altro esempio: convertiamo un miglio marino (nmi) in metri
$ units -v
2411 units, 71 prefixes, 33 nonlinear units
You have: 1nmi
You want: meters
risultato
1nmi = 1852 meter
1nmi = (1 / 0.0005399568) meter
Altro esempio: convertiamo un gigabyte in megabyte
$ units -v
2411 units, 71 prefixes, 33 nonlinear units
You have: 1gigabyte
You want: megabyte
risultato
1gigabyte = 1000 megabyte
1gigabyte = (1 / 0.001) megabyte
Altro esempio: Ora convertiamo 100 gradi fahrenheit in gradi celsius
$ units -v
2411 units, 71 prefixes, 33 nonlinear units
You have: tempF(100)
You want: tempC
risultato
tempF(100) = tempC(37.777778)
Notate che in questo caso la sintassi è leggermente diversa, ma niente di eccezionale. :)
Ok! Basta con la funzione interattiva di Units. Vi ricordo che per uscire dal terminale bisogna usare la combinazione di tasti Ctrl+C
Passiamo velocemente alla funzione non interattiva; in questo caso è necessario impostare una riga di comando.
Mi limito a fare due esempi (già fatti sopra)
1. convertire 10km in metri
$ units -v 10km meters
risultato
10km = 10000 meter
10km = (1 / 0.0001) meter
2. convertire un miglio marino (nmi) in metri
$ units -v 1nmi meters
risultato
1nmi = 1852 meter
1nmi = (1 / 0.0005399568) meter
Per maggiori approfondimenti
man units
Alla prossima. Ciao :)
Solo un piccolo errore: in "10km = (1 / 0.0001) meter" c'è uno zero di troppo (anche sopra). Poi a essere davvero pistini si dovrebbe scrivere m o meters.
RispondiEliminaPer il resto probabilmente è solo il caldo; poi passa ;-)
Ho corretto meter in meters, ma lo zero in più proprio non lo vedo :)
RispondiEliminacalc
RispondiEliminaC-style arbitrary precision calculator (version 2.12.3.3)
Calc is open software. For license details type: help copyright
[Type "exit" to exit, or "help" for help.]
; 1/1000
0.001
;
Calc? LOL
RispondiEliminama qui abbiamo 1/10.000. o continuo a sbagliare? :)
appena ho tempo installo Units. Per adesso (sono un po' di corsa) volevo solo dire che:
RispondiElimina1 km = 1000 m
1 m = 0.001 km
in questo senso mi sembra che ci sia uno zero di troppo.
Ops! errore mio. O meglio modo di esprimere il risultato che non avevo capito. Riporto un pezzo del manuale.
RispondiEliminaThe answer will be displayed in two ways. The first line of output,
which is marked with a `*' to indicate multiplication, gives the result
of the conversion you have asked for. The second line of output, which
is marked with a `/' to indicate division, gives the inverse of the
conversion factor. If you convert 10 meters to feet, `units' will
print
* 32.808399
/ 0.03048
Ma cribbio chi è che preferisce fare la divisione invece che la moltiplicazione? Secondo me era molto meglio dare il fattore di conversione, qualcosa come 1ft = 0.3048m; 1m = 3.2808m.
Mi spiace di aver sporcato il post con commenti non appropriati, se vuoi / puoi cancellali.
Nessun problema! concordo con te sul fattore di conversione. certo, sarebbe stato meglio. Non ti nascondo che mi sono dovuto scervellare per capire il meccanismo. Grazie :)
RispondiEliminaMa...1Gb non equivale a 1024M ? mhmh..
RispondiEliminaebbene si, questo dato è un pò approssimativo! Ma solo questo però.
RispondiElimina@ Lightuono. Buona domanda. Ma se leggessi con più cura i miei post avresti trovato un suggerimento, qui: http://okpanico.wordpress.com/2011/08/02/ancora-sui-numeri-grossi-ma-anche-piccoli/
RispondiEliminaMa so bene che era per darmi l'occasione di farmi un po' di pubblicità, cosa di cui ti sarò eternamente grato fino a domani.