units

单位换算,将单位从一个尺度转换为另一个尺度。
单位在外部数据文件中定义。
您可以使用这个程序附带的大量数据文件,或者您可以提供自己的数据文件来满足您的需求。
您可以通过提示交互地使用程序,也可以从命令行使用它。

语法

  units options [FROM-UNIT [TO-UNIT]]

选项



 -c
 --check
     检查在units文件中定义的所有单位和前缀是否为最小基本单位.

 --check-verbose
     与“-check”选项类似,此选项打印最小单位列表

 -o format
 --output-format format
     对数字输出使用指定的格式。
     格式与ANSI C标准中的printf函数相同。
     例如,如果想要更精确,可以使用 `-o %.15g'.

 -f filename
 --file filename
     使用filename作为单位数据文件,而不是默认的单位数据文件 `units.dat'.

 -h
 --help
     打印选项的摘要.

 -q
 --quiet
 --silent
     禁止提示用户输入单位和显示
     有关装载的单位数量的统计数据
 -s
 --strict
     禁止将单位转换为其倒数单位

 -v
 --verbose
     转换单位时,请稍微提供更详细的输出。
     结合`-c'选项,它可以产生相同的效果
     `--check-verbose'.

 -V
 --version
     打印程序版本号,告知是否包含readline库,
     并给出默认单位数据文件的位置.

要调用用于交互使用的单位,请在shell提示符处键入“units”.程序会打印:

1161 units, 53 prefixes 
You have: 

You have:' 提示下, 键入您要转换的数量和单位.例如, 如果要将十米转换为英尺,请键入10 meters’. 接下来, units' 将打印你想要的:’. 您应该键入要转换的单位类型. 要转换为英尺,您可以输入 `feet’.

答案将以两种方式显示。输出的第一行标有“*”以表示乘法, 它给出了您要求的转换结果. 第二行输出,用“/”标记以表示除法,给出最小因子。如果您将10米转换为英尺,“units”将打印

* 32.808399 
/ 0.03048 

告诉您10米等于约32.8英尺。第二个表示一英尺大约是0.03048乘以10米 .

`units’ 程序可以从命令行以非交互方式执行单位转换, 键入原始单位表达式,并键入所需的新单位。您可能需要使用单引号字符保护单位表达式不被shell解释.
如果你输入

units '2 liters' 'quarts' 

`units’ 将打印

* 2.1133764 
/ 0.47317647 

然后退出. 输出告诉你 2 升约 2.1 夸脱,或者一夸脱大约是0.47乘以2升.

单位表达式

单位的幂可以使用^'字符指定,如下例所示:cm3’相当于`cm ^ 3’,如果指数超过一位,则需要“^”。.

     You have: cm^3
     You want: gallons
             * 0.00026417205
             / 3785.4118
 
     You have: arabicfoot-arabictradepound-force
     You want: ft lbf
             * 0.7296
             / 1.370614

单位的乘法可以用(-') 或 (*’). 单位划分用 (`/’)表示.

     You have: furlongs/fortnight
     You want: m/s
             * 0.00016630986
             / 6012.8727

乘法具有比除法更高的优先级并且从左到右进行, 因此m/s * s/day' 相当于m / s s day’ 并且具有每个时间长度的长度尺寸. 实际上,第一个 /' 字符标志着你单位的分母的开始. 特别是,这意味着写1/2 meter’ 指的是一个相当于 .5/meter 长度的单位, 如果您输入该表达式. 这可能不是您想要的,要指示数字的划分,请使用垂直划线(“|”),垂直虚线字符两侧不允许有空格区域

     You have: 1|2 inch
     You want: cm
             * 1.27
             / 0.78740157

前缀与基本单位分开定义,为了获得厘米,单位数据库将centi-'和c-'定义为前缀.
前缀可以单独出现,而后面没有任何单位。指数仅适用于前一个单位及其前缀,因此“cm3”或“centimeter 3”表示立方厘米,但“centi-meter^ 3”表示百分之一立方米。每个单元只允许一个前缀,因此micromicrofarad'将失败,但micro-microofarad’将起作用。

对于 `units’, 数字只是另一种单位,它们可以在单位表达式中以任意顺序出现任意次数。例如,要找到一个盒子的体积是2英尺乘3英尺乘12英尺,你可以这样做:

     You have: 2 ft 3 ft 12 ft
     You want: stere
             * 2.038813
             / 0.49048148
 
     You have: $ 5 / yard
     You want: cents / inch
             * 13.888889
             / 0.072

在SI系统之外,通常希望将不同单位的值加在一起,符合单位的和用“+”字符写成.

     You have: 2 hours + 23 minutes + 32 seconds
     You want: seconds
             * 8612
             / 0.00011611705
 
     You have: 12 ft + 3 in
     You want: cm
             * 373.38
             / 0.0026782366
 
     You have: 2 btu + 450 ft-lbf
     You want: btu
             * 2.5782804
             / 0.38785542

units 命令实例:

linux命令:units "2048 bytes" "kibibytes" "kibibytes" bytes" "2048 units units "2048 bytes" "kibibytes"rootopen.com
linux命令:units "2048 bytes" "kibibytes" "kibibytes" bytes" "2048 units units "2048 bytes" "kibibytes"rootopen.com
2018-03-12 03:27:48

Linux的Bash命令行(A-Z排序)