정규식 grep을 사용하여 rpm -qi [패키지 이름] 출력을 사용하여 패키지 버전을 추출합니다.

정규식 grep을 사용하여 rpm -qi [패키지 이름] 출력을 사용하여 패키지 버전을 추출합니다.

정규식이 rpm -qi rpm-build | grep -E [[:digit:]]+\.[[:digit:]]+\.[[:digit:]]+$반환되는 이유

여기에 이미지 설명을 입력하세요.

? 정규 표현식이 기간과 일치하면 안 되나요 \.? 그렇다면 첫 번째 일치 항목만 반환되지 않는 이유는 무엇입니까?

답변1

정규식을 인용하지 않았으므로 쉘이 두 개의 백슬래시를 처리합니다. 결과는 grep다음과 같은 정규식입니다. [[:digit:]]+.[[:digit:]]+.[[:digit:]]+$일치합니다. 다음 표현을 인용해 보세요.

rpm -qi rpm-build | grep -E '[[:digit:]]+\.[[:digit:]]+\.[[:digit:]]+$'

정말로 의 버전 정보만 원한다면 rpm -q요청을 직접 사용 --queryformat하고 grep을 건너뛰십시오.

version=$(rpm -q --queryformat '%{VERSION}' rpm-build)

관련 정보