ファイル名からバージョンを抽出

ファイル名からバージョンを抽出

ビルドzipファイル名からバージョン番号を抽出したいです。

ビルド名:build102p12.zip

102p12私はそれから抽出したい。

私はLinux環境であるrhel 6を使用しています。

ベストアンサー1

文字列から部分文字列sumを削除しようとしていますbuild.zipbuild102p12.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]+のように見えるすべての項目と一致します。これはこれが起こると仮定します。NNNpNNNNNN一度buildinfoファイルから。

おすすめ記事