RPM gibt ein falsch gedrucktes OS-Paket eines Pfads zurück

RPM gibt ein falsch gedrucktes OS-Paket eines Pfads zurück

Ich versuche, ein zugehöriges Betriebssystempaket eines Pfads zu finden. Ich verwende rpmdafür. Zum Beispiel:

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

Mir ist jedoch aufgefallen, dass es Pakete gibt, die schlecht gedruckt sind:

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

Es gibt kein solches Betriebssystempaket wgetwget-openssl1. Aber es gibt eines wget-openssl1. Was mache ich falsch? Warum wird es so gedruckt?

Ein weiteres Beispiel für schlechten Druck:

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

Sollte sein: curel-openssl1.

Mir ist aufgefallen, dass dies nur bei Paketen (.*)-openssl1wie diesen passiert ist:

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

Da ich diesen Befehl in einem automatisierten Skript verwende, das das zugehörige Betriebssystempaket finden soll, wie kann ich ihn zum Laufen bringen? Gibt es einen anderen, den --queryformatich verwenden könnte?

Antwort1

Ihr Befehl findet mehrere Ergebnisse, trennt sie aber nicht. Fügen Sie \nder Formatzeichenfolge Folgendes hinzu:

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

verwandte Informationen