Naredbe za koje (možda) niste znali 3: units

U seriji članaka pod nazivom "Naredbe za koje (možda) niste znali" pokušat ćemo vas upoznati s nekim naredbama i dodatnim priručnim alatima koji se ili standardno nalaze na Unix i Linux sustavima, ili se često dodaju zbog svoje uporabnosti i popularnosti. S jednim takvim alatom smo vas već upoznali (ipcalc), a ovim člankom počinjemo novi ciklus.

Prvi alat s kojim ćemo vas upoznati je "units". Kao što mu samo ime govori, radi se o praktičnom alatu za pretvorbu raznih mjernih jedinica u naredbenoj liniji.

Pretvorba se može raditi interaktivno ili neinteraktivno, primjerice ukoliko želimo saznati koliko litara ima u jednom galonu:

$ units "1 gallons" liters
* 3.7854118
/ 0.26417205

$ units
2438 units, 71 prefixes, 32 nonlinear units
You have: 1 gallons
You want: liters
* 3.7854118
/ 0.26417205
You have:
Ctrl+C

Izlazak iz interaktivnog načina rada je moguć uporabom standardne kombinacije tipki Ctrl+C. Koji ćete oblik rabiti, ovisi o Vama.

Malo ćemo objasniti ispis. Zvjezdica ispred vrijednosti znači da je vrijednost pretvorbe dobivena linearno, množenjem sa nekim koeficijentom. Iza zvjezdice je, naravno, vrijednost u traženim jedinicama. Druga linija određuje obrnuti koeficijent, s kojim možemo dobiti originalnu mjernu jedinicu (1 litra je 0.264 * 1 galona).

Za razliku od linearnih, postoje i nelinearne pretvorbe, kao što je primjerice pretvorba iz stupnjeva Fahrenheita u stupnjeve Celzija.

$ units "tempF(80)" tempC
26.666667

Ovaj put, dakako, nema zvjezdice, a treba uočiti i drugačiji način pisanja vrijednosti za temperaturu, koja se piše slično pozivanju funkcije u C-u. Interaktivno, ne trebaju navodnici koji štite da ljuska ne interpretira zagrade:

$ units
You have: tempF(80)
You want: tempC
26.666667

Neke pretvorbe nisu očigledne, kao recimo pretvorba iz milja u kilometre:

$ units
You have: 50 mph
You want: kmph
conformability error
22.352 m / s
1.5091905e+36 s / kg m

Ukoliko dobijete poruku "conformability error", znači da jedinice nisu uskladive, i ispisat će se njihove standardizirane vrijednosti (50 milja na sat je oko 22 metra u sekundi, i definicija jedinice koju program nije razumio). Ispravan način definicije kilometra na sat nije ni "km/h", ni "kmh", nego "kph":

$ units
You have: 50 mph
You want: kph
* 80.4672
/ 0.012427424

Još sigurnije je koristiti govorni oblik "kilometers per hour", pri čemu britanski i američki način pisanja ne igraju ulogu (mogli smo napisati i "kilometres").

Ukoliko samo želite vidjeti definiciju neke jedinice, primjerice koliko je to 1 tekuća unca:

$ units floz
Definition: fluidounce = usfluidounce = 1|16 uspint = 2.957353e-05 m^3

Dakle, 1 tekuća unca je 0.3 decilitara.

Alat units podržava mnogo više od ovih uobičajenih mjernih jedinica, pa i neke arhaične i napuštene. Svakako preporučujemo da pogledate man stranicu i datoteku s pretvorbama /usr/share/misc/units.dat, jer ćete tamo naći mnoštvo informacija koje će vam zatrebati, poglavito zbog pravilnog pisanja mjernih jedinica i njihovih parametara.

Ovaj zgodni alat možete instalirati, kao i uvijek, preko apt-get naredbe:

# apt-get install units

 

Kuharice: 
Kategorije: 
Vote: 
5
Vaša ocjena: Nema Average: 5 (4 votes)