我想从构建 zip 文件的名称中提取版本号。
构建名称:build102p12.zip
我想102p12
从中提取。
我使用的是linux环境:rhel 6。
答案1
您想要从字符串中删除子字符串build
和。.zip
build102p12.zip
假设 shell 变量中有原始字符串name
:
name='build102p12.zip'
name="${name#build}" # remove prefix "build"
name="${name%.zip}" # remove suffix ".zip"
$name
现在将是字符串102p12
.
${parameter#word}
有关和变量替换的更多信息,请参阅 shell 手册${parameter%word}
。
如果你有这条线(没有别的)
build name : build102p12.zip
在文件中buildinfo
:
$ buildversion="$( grep -oE '[0-9]+p[0-9]+' buildinfo )"
扩展的正则表达式[0-9]+p[0-9]+
将匹配任何看起来像NNNpNNN
其中每个NNN
数字序列的东西。这假设这只发生一次在buildinfo
文件中。