Bash 도구를 사용한 정확한 패턴

Bash 도구를 사용한 정확한 패턴

(a) 0.2.0-123-g9e17591

(b) 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사용 하여 array 로 분할한 -다음 결과를 확인합니다.

그런 다음 배열의 첫 번째 요소와 비슷하게 진행할 수 있습니다.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-particle-element-from-an-array-in-bash

관련 정보