Exibindo o nome completo dos pacotes instalados no Debian e derivados

Publicado por Mauricio Ferrari em 15/07/2020

[ Hits: 1.125 ]

Blog: https://www.youtube.com/@LinuxDicasPro

 


Exibindo o nome completo dos pacotes instalados no Debian e derivados



Essa dica pode ajudar muitas pessoas a resolver vários problemas em relação ao uso do sed, como eu que tive dificuldades em montar um script por conta da minha base de conhecimento limitada em relação a ele.

O comando para exibir os pacotes instalados no sistema foi esse:

apt list --installed | sed -e 's| \[.*\]||g' -e 's|/.*now |_|g' -e 's| |_|g' -e '1d'

Existem outras formas, mas precisei listar dessa forma. Como estou fazendo essa dica com caráter didático, vou explicar o que eu fiz.

  • -e 's| \[.*\]||g' = Exclui tudo o que começa com " [" (com um espaço na frente incluso) e termina com ]. Aqui eu usei instruções de escape \[ e \], isso porque senão o sed vai pensar que eles fazem parte de uma instrução de expressão regular, mas na verdade estão como caracteres delimitadores.
  • -e 's|/.*now |_|g' = Substitui tudo o que começa com / e termina com "now " por _. Isso já deixa a primeira parte do nome do pacote já pronto. Note que eu usei outro delimitador para o sed por conta disso.
  • -e 's| |_|g' = Troca os espaços por _.
  • -e '1d' = Exclui a primeira linha, pois nela tinha o "Listing...", desnecessário.

Agora vamos comparar (estou usando a saída em partes):

apt list --installed
appimagelauncher/now 2.1.3-travis975~7408819+bionic amd64 [installed,local]
assaultcube-data/focal,focal,now 1.2.0.2.1-3 all [installed,automatic]
firefox/now 78.0.1+linuxmint1+ulyana amd64 [installed,upgradable to: 78.0.2+linuxmint1+ulyana]
gcc-10-base/focal,now 10-20200411-0ubuntu1 i386 [installed]

Com o sed:

apt list --installed | sed -e 's| \[.*\]||g' -e 's|/.*now |_|g' -e 's| |_|g' -e '1d'
appimagelauncher_2.1.3-travis975~7408819+bionic_amd64
assaultcube-data_1.2.0.2.1-3_all
firefox_78.0.1+linuxmint1+ulyana_amd64
gcc-10-base_10-20200411-0ubuntu1_i386

Pronto, assim listei os pacotes do jeito que eu queria.

Outras dicas deste autor

Avidemux não abre no Salix 14.2 [Resolvido]

p7zip-desktop reformulado para o Linux Mint 20

Instalando corretamente o Wine atualizado no Debian, Ubuntu, Linux Mint e derivados

Expandindo o Til pelo Diretório Inicial do Usuário em Python

Compilando o Vim 8.2 com suporte a clipboard

Leitura recomendada

Extraindo seu endereço IP com shell script (egrep + awk)

Leitor de arquivos ePub

Como fazer "quit" no SED

Redirecionamento no Shell

Múltiplas expressões no SED

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts