パスの関連 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