Exibindo o nome completo dos pacotes instalados no Debian e derivados

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

[ Hits: 1.757 ]

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

Fazendo Upload no Git pelo Terminal

Executando um Programa Externo sem Impedir o Funcionamento do Programa em Python

O uso do comando LDD, útil para o Slackware

Player Nulloy no Ubuntu 20.04, Linux Mint 20 e derivações mais atuais - atualização

Usando o VirtualBox para Otimizar as VMs Instaladas no Genymotion

Leitura recomendada

SED - substituir apenas a ocorrência N de uma string

Busca por string dentro dos arquivos

Ubuntu - Iniciar Conky no Login

Introdução ao awk

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