Ich versuche, ein zugehöriges Betriebssystempaket eines Pfads zu finden. Ich verwende rpm
dafü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 (.*)-openssl1
wie 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 --queryformat
ich verwenden könnte?
Antwort1
Ihr Befehl findet mehrere Ergebnisse, trennt sie aber nicht. Fügen Sie \n
der Formatzeichenfolge Folgendes hinzu:
$ rpm -qf --queryformat "[%{NAME}]\n" /usr/bin/mailx
mailx
mailx-openssl1