RPM 傳回錯誤列印的作業系統套件路徑

RPM 傳回錯誤列印的作業系統套件路徑

我正在嘗試找到路徑的相關作業系統包。我用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我可以使用的嗎?

答案1

您的命令是尋找多個結果,但不將它們分開。新增\n到格式字串:

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

相關內容