RPM はパスの OS パッケージを不適切に印刷して返します

RPM はパスの OS パッケージを不適切に印刷して返します

パスの関連 OS パッケージを見つけようとしています。rpmそのために使用します。たとえば、次のようになります。

> /bin/rpm -qf --queryformat '[%{NAME}]' /usr/bin/tcsh
tcsh

しかし、印刷がひどいパッケージがあることに気づきました。

/bin/rpm -qf --queryformat '[%{NAME}]' /usr/bin/wget
wgetwget-openssl1

そのような OS パッケージはありませんwgetwget-openssl1。しかし、はありますwget-openssl1。何が間違っているのでしょうか? なぜそのように印刷されるのでしょうか?

印刷が下手な別の例:

/bin/rpm -qf --queryformat "[%{NAME}]" /usr/bin/curl
curlcurl-openssl1

正しくは:curel-openssl1

次のようなパッケージでのみ発生することに気付きました(.*)-openssl1:

> /bin/rpm -qf --queryformat "[%{NAME}]" /usr/bin/mailx
mailxmailx-openssl1

関連する OS パッケージを検索する自動スクリプトでこのコマンドを使用しているのですが、どうすれば動作させることができますか? 他に--queryformat使用できるものはありますか?

答え1

コマンドは複数の結果を検索していますが、それらを分離していません。\nフォーマット文字列に以下を追加します:

$ rpm -qf --queryformat "[%{NAME}]\n" /usr/bin/mailx
mailx
mailx-openssl1

関連情報