빌드 zip 파일 이름에서 버전 번호를 추출하고 싶습니다.
빌드 이름:build102p12.zip
102p12
나는 그것에서 추출 하고 싶다 .
저는 Linux 환경인 rhel 6을 사용하고 있습니다.
답변1
string 에서 하위 문자열 sum을 제거하려고 합니다 build
..zip
build102p12.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]+
처럼 보이는 모든 항목과 일치합니다 . 이는 이런 일이 발생한다고 가정합니다.NNNpNNN
NNN
한 번buildinfo
파일 에서 .