使用 bash 工具提取模式

使用 bash 工具提取模式

(一) 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/how-to-extract-a-particular-element-from-an-array-in-bash

相关内容