파일 이름에서 버전 추출

파일 이름에서 버전 추출

빌드 zip 파일 이름에서 버전 번호를 추출하고 싶습니다.

빌드 이름:build102p12.zip

102p12나는 그것에서 추출 하고 싶다 .

저는 Linux 환경인 rhel 6을 사용하고 있습니다.

답변1

string 에서 하위 문자열 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파일 에서 .

관련 정보