0

我正在写一个 Bash 脚本。我有一个变量,它是一个浮点值。例如:

x=2099.2

我需要小数点前的值,即只有2099.

4

1 回答 1

4

您可以使用以下 shell 参数扩展:

${x%%.*}

这会从第一个点中删除所有内容。

现场观看:

$ v=203.4
$ echo ${v%%.*}
203

$ v=2.3.4
$ echo ${v%%.*}
2

Bash Reference Manual → 3.5.3 Shell Parameter Expansion

${参数%%word}

单词被扩展以产生一个模式,就像在文件名扩展中一样。如果模式匹配参数扩展值的尾随部分,则扩展的结果是删除了最长匹配模式的参数值。如果 parameter 是 '@' 或 '<em>',模式移除操作将依次应用于每个位置参数,扩展是结果列表。如果 parameter 是下标为 '@' 或 '</em>' 的数组变量,则模式移除操作将依次应用于数组的每个成员,并且展开是结果列表。

于 2013-08-02T11:01:28.557 回答