Estou tentando encontrar um pacote de sistema operacional relacionado a um caminho. Eu uso rpm
para isso. Por exemplo:
> /bin/rpm -qf --queryformat '[%{NAME}]' /usr/bin/tcsh
tcsh
Mas percebi que tem pacotes que ficam mal impressos:
/bin/rpm -qf --queryformat '[%{NAME}]' /usr/bin/wget
wgetwget-openssl1
Não existe tal pacote de sistema operacional wgetwget-openssl1
. Mas existe wget-openssl1
. O que estou fazendo de errado? Por que imprime assim?
Outro exemplo de impressão ruim:
/bin/rpm -qf --queryformat "[%{NAME}]" /usr/bin/curl
curlcurl-openssl1
Deveria estar: curel-openssl1
.
Percebi que isso acontecia apenas com pacotes (.*)-openssl1
como:
> /bin/rpm -qf --queryformat "[%{NAME}]" /usr/bin/mailx
mailxmailx-openssl1
Como estou usando este comando em um script automatizado que deseja encontrar o pacote de sistema operacional relacionado, como posso fazê-lo funcionar? Existe outro que --queryformat
eu possa usar?
Responder1
Seu comando está encontrando vários resultados, mas não os separando. Adicione \n
à string de formato:
$ rpm -qf --queryformat "[%{NAME}]\n" /usr/bin/mailx
mailx
mailx-openssl1