bashツールでパターンを抽出する

bashツールでパターンを抽出する

(a)0.2.0-123-g9e17591

0.2.0-g9e17591 修正プログラム

  1. それぞれ 0.2.0-123 と 0.2.0 を取得するにはどうすればいいですか?
  2. 「0.2.0-123-g9e17591」から数字 0 と 123 を、「0.2.0-g9e17591」から数字 2 と 0 を抽出する方法

答え1

使用できる

$ IFS='-' read -ra PARTS <<< 0.2.0-123-g9e17591
$ echo ${PARTS[*]}

PARTSをフィールド区切り文字として使用して文字列を配列に分割し-、結果を確認します。

次に、配列の最初の要素についても同様に進めることができます。PARTS

$ IFS='.' read -ra PARTS2 <<< ${PARTS[0]}
$ echo ${PARTS2[*]}

必要に応じて操作を繰り返します。

出典

  1. https://stackoverflow.com/questions/918886/how-do-i-split-a-string-on-a-delimiter-in-bash
  2. http://www.masteringunixshell.net/qa3/bash-how-to-echo-array.html
  3. https://stackoverflow.com/questions/15685736/bash で配列から特定の要素を抽出する方法

関連情報