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バージョンと一致しますが、多くの場合十分です。

おすすめ記事