Exibindo o nome completo dos pacotes instalados no Debian e derivados

Publicado por Mauricio Ferrari (LinuxProativo) em 15/07/2020

[ Hits: 1.820 ]

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

 


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

OpenArena que funciona no Linux Mint 20

Fortune em português no Slackware Current

Criando Atalhos para Diretórios Ocultos no Linux

Instalando o EasyMp3Gain no Deepin 20

Conectando-se ao GitHub com SSH

Leitura recomendada

Criando usuários a partir de uma lista

SED - texto para maiúsculas, minúsculas, pascal case e camel case

Eliminando linhas de comentário ou linhas em branco no Linux

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

Baixando todos os arquivos de uma URL com o wget

  

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