Я хочу извлечь номер версии из имени моего zip-файла сборки.
имя сборки: build102p12.zip
Я хочу извлечь из него 102p12
.
Я использую среду Linux: rhel 6.
Вы хотите удалить подстроки build
и .zip
из строки build102p12.zip
.
Предполагая, что у вас есть исходная строка в переменной оболочкиname
:
name='build102p12.zip'
name="${name#build}" # remove prefix "build"
name="${name%.zip}" # remove suffix ".zip"
$name
теперь будет строкой 102p12
.
Дополнительную информацию о подстановке переменных ${parameter#word}
и ${parameter%word}
см. в руководстве по вашей оболочке.
Если у вас есть линия (и больше ничего)
build name : build102p12.zip
в файлеbuildinfo
:
$ buildversion="$( grep -oE '[0-9]+p[0-9]+' buildinfo )"
Расширенное регулярное выражение [0-9]+p[0-9]+
будет соответствовать всему, что выглядит как NNNpNNN
, где каждое NNN
— это некоторая последовательность цифр. Это предполагает, что это происходит только один раз в файле buildinfo
.