正規表現grepを使用してrpm -qi [パッケージ名]出力を使用してパッケージバージョンを抽出します。

正規表現grepを使用してrpm -qi [パッケージ名]出力を使用してパッケージバージョンを抽出します。

正規表現がrpm -qi rpm-build | grep -E [[:digit:]]+\.[[:digit:]]+\.[[:digit:]]+$ 返される理由

ここに画像の説明を入力してください。

?正規表現が期間と一致してはいけませんか\.?それでは、最初の一致のみが返されないのはなぜですか?

ベストアンサー1

正規表現を引用しなかったので、シェルは2つのバックスラッシュを処理します。結果はgrep次の正規表現です。[[:digit:]]+.[[:digit:]]+.[[:digit:]]+$一致します。次の表現を引用してください。

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

本当にバージョン情報だけが必要な場合は、rpm -qリクエストを直接使用し--queryformatてgrepをスキップしてください。

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

おすすめ記事