bash 获取变量第一个整数之前的第一个元素

bash get first element before the first integer of a variable

我想获取变量第一个整数之前的第一个元素, 例如,我有这个变量:

FILE=normalize-component-0.0.3-SNAPSHOT-jar-with-dependencies-package-58.jar

我想获取应用程序名称,在这种情况下,它是名称“normalize-component”,它总是出现在整数之前。

请记住,应用程序名称可以随时更改,但结构将始终是:

{application_name}-{digit}-{*}-jar-with-dependencies-package-{digit}.jar

期望的输出:

APP_NAME=归一化分量

在bash中使用parameter expansion:

$ FILE="normalize-component-0.0.3-SNAPSHOT-jar-with-dependencies-package-58.jar"

$ echo "${FILE%%-[[:digit:]]*}"
normalize-component