grep 정규식 + 캡처 rpm 버전

grep 정규식 + 캡처 rpm 버전

다음 rpm 버전이 설치되어 있는지 확인하고 싶으므로 다음을 수행합니다.

rpm -qa | egrep -c 'python-argcomplete-0.3.7-1|postgresql-libs-9.2.13-1.el7_1.x86_64'

postgresql-libs더 높은 버전 도 다음과 같이 설치할 수 있기 때문에 -postgresql-libs-9.2.19-1.el7_1.x86_64

그런 다음 아래와 같이 두 버전을 모두 캡처하려고 시도했지만 성공하지 못했습니다.

 rpm -qa | egrep -c 'python-argcomplete-0.3.7-1|postgresql-libs-9.2.[^0-9]-1.el7_1.x86_64'

예상 결과는 2여야 하지만 우리는 1을 얻습니다.

답변1

[^0-9]임의의 문자와 일치외부0-9이므로 정규식은 발생할 수 있는 어떤 패키지 버전과도 일치하지 않습니다. 버전 13 이상과 일치시키려는 경우 필수입니다 (1[3-9]|[2-9][0-9])(버전의 마지막 구성 요소가 100에 도달하지 않는다고 가정).

직접 물어볼 수 있습니다 rpm:

rpm -q python-argcomplete-0.3.7 'postgresql-libs-9.2.*'

postgresql-libs이것은 정확히 원하는 버전이 아닐 수도 있는 모든 9.2 버전과 일치 하지만 많은 경우에 충분할 것입니다.

관련 정보