table of contents
UNITS-FILTER(1) | units-filter User Manual | UNITS-FILTER(1) |
NAME¶
units-filter - is a parser for physical and chemical quantitiesSYNOPSIS¶
units-filter
-s -o -l
DESCRIPTION¶
units-filter is a basic standalone parser written in C language, flex and bison. It inputs strings like "1.5e3 nN.m.s^-1" (it could be the time growth ratio of a torque) and outputs the value in standard SI unit, followed by the physical dimension of this value.OPTIONS¶
-sLike Significant.
Takes in account the number of significant digits. For example 1.0 m contains 2
significant digits, while 0.00100 contains 3 significant digits. It is
possible to enforce the number of significant digits by using a special syntax
: if units-filter parses the input "1.0m#6", it interprets it as a
value with exactly 6 significant digits, like "1.00000 m". The
number following the # sign is the forced number of significant digits. The
number of significant digits appears just before the last zero in the output
of the command (this zero is a placeholder for future extensions).
-o
Like Output.
Outputs a correct representation of the physical quantity with its physical unit
in the International System notation. There may be some simplification with
usual units. For example, a newton will be represented by the unit N in place
of m.kg.s^-2. The value is expressed as a floating number with one digit
before the decimal point, and as many digits in the mantissa as necessary to
fit the desired number of significant digits (see an example below). It is
possible to enforce the output unit : just add a colon and the desired unit at
the end of the input. If this unit is homogeneous with the former one, it will
be used to format the output.
-l
Like LaTeX.
Outputs a correct representation of the physical quantity with its physical unit
in the International System notation, in LaTeX language.
EXAMPLES¶
Establish the SI value and unit exponent of a quantity in the mksa system: ~$ echo 1.5e3 nN.m.s^-1 | units-filter 1.5e-6 2 1 -3 0 0 0 0 which means : 1.5e-6 (SI unit) m^2.kg.s^-3 Compare different physical quantities: ~$ e1=$(echo "1.2e-3 V" | units-filter) ~$ e2=$(echo "1200e3 nWb/s"| units-filter) ~$ if [ "$e1" = "$e2" ]; then echo ok; else echo ko; fi ok ... which emphasizes that webers by unit time are the same as volts. Playing with the number of significant digits: ~$ echo "0.00100m" | src/units-filter -s 0.001 1 0 0 0 0 0 0 3 0 ~$ echo "0.00100m #2" | src/units-filter -s 0.001 1 0 0 0 0 0 0 2 0 Giving a value for the relative precision: ~$ echo "1kV~2" | units-filter -o 1e+03 V +-2% Turning on the LaTeX output: ~$ echo "1kohm+-2%" | units-filter -l 1\times 10^{+03}\, \Omega \pm 2\,\% Turning on the output of a canonical physical notation: ~$ echo "1.0 m.kg.s^-2 #7" | units-filter -o 1.000000e+00N Choosing a non-standard unit for the output: ~$ echo 1800C:A.h| units-filter -o 5.000e-01 A.hKNOWN BUGS¶
Few units out of the mksa system are successfully parsed.AUTHOR¶
Georges Khaznadar <georgesk@ofset.org>Wrote this manpage.
COPYRIGHT¶
Copyright © 2009 Georges Khaznadar11/19/2011 | units-filter |