units
The units
program converts quantities expressed in various scales
to their equivalents in other scales. The units
program can
handle multiplicative scale changes as well as nonlinear
conversions such as Fahrenheit to
Celsius.1
Temperature conversions require a special
syntax.
See tempconvert.
The units are defined in an external data file. You can use the extensive data file that comes with this program, or you can provide your own data file to suit your needs.
You can use the program interactively with prompts, or you can use it from the command line.
[1] But Fahrenheit to Celsius is linear, you insist. Not so. A transformation T is linear if T(x+y)=T(x)+T(y) and this fails for T(x)=ax+b. This transformation is affine, but not linear.