Este é um trabalho para dpkg-query
com formatação manual para a saída desejada, no meu sistema :
% dpkg-query -Wf '${Version}\n' ufw
0.34~rc-0ubuntu2
A variável dpkg-query
específicaVersion
expande para a versão do pacote mencionado, ufw
neste caso.
Agora, para obter a parte antes de ubuntu2
, você também pode definir a largura após Version
, separado por ;
:
% dpkg-query -Wf '${Version;9}\n' ufw
0.34~rc-0
mas isso não é confiável, pois o comprimento pode obviamente variar para diferentes versões possíveis; para que você possa aproveitar um pouco o processamento de texto, aqui grep
-ping (obviamente você pode usar sua ferramenta de escolha):
% dpkg-query -Wf '${Version}\n' ufw | grep -Po '.*?(?=ubuntu[^[:alpha:]]*$)'
0.34~rc-0
Para completar, se você insistir em usar dpkg -l
, use um pouco de awk
:
% dpkg -l | awk '$2=="ufw" {sub("ubuntu[^[:alpha:]]*$", "", $3); print $3}'
0.34~rc-0