RPMが正しく印刷されていないオペレーティングシステムのパッケージパスを返します。

RPMが正しく印刷されていないオペレーティングシステムのパッケージパスを返します。

パスの関連OSパッケージを見つけようとしています。私はrpmこれを使用します。例えば:

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

しかし、一部のパッケージが正しく印刷されていないことがわかりました。

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

そのオペレーティングシステムパッケージはありません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

おすすめ記事