Linux

RPM 返回列印錯誤的路徑的作業系統包

  • October 28, 2021

我正在嘗試查找路徑的相關作業系統包。我用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

當我在想要找到相關作業系統包的自動化腳本中使用這個命令時,我怎樣才能讓它工作?還有其他--queryformat我可以使用的嗎?

您的命令正在查找多個結果,但沒有將它們分開。添加\n到格式字元串:

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

引用自:https://unix.stackexchange.com/questions/675137