我正在写一个Bash脚本。我有一个变量,它是一个浮点值。例如:
x=2099.2
我需要小数点前的值,即只需要2099
。
答案 0 :(得分:3)
您可以使用以下shell参数扩展:
${x%%.*}
这将删除第一个点中的所有内容。
现场直播:
$ v=203.4
$ echo ${v%%.*}
203
$ v=2.3.4
$ echo ${v%%.*}
2
来自Bash Reference Manual → 3.5.3 Shell Parameter Expansion:
<强> $ {参数%%字} 强>
这个词被扩展为产生一个模式,就像文件名扩展一样。如果模式匹配参数展开值的尾部,则展开的结果是删除了最长匹配模式的参数值。如果参数是'@'或'',则模式删除操作依次应用于每个位置参数,并且扩展是结果列表。如果参数是使用'@'或''下标的数组变量,则模式删除操作依次应用于数组的每个成员,并且扩展是结果列表。