Я пытаюсь найти связанный пакет ОС пути. Я использую 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