Exibindo o nome completo dos pacotes instalados no Debian e derivados

Publicado por Mauricio Ferrari em 15/07/2020

[ Hits: 742 ]

Blog: https://github.com/mxnt10

 


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

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

Spotify Atualizado no Ubuntu e Linux Mint

Resetando as configurações do mate-terminal

Instalando o Shutter no Linux Mint 20 e Ubuntu 20.04

Instalando o ExMplayer no Deepin 20

Leitura recomendada

Criando usuários a partir de uma lista

Múltiplas expressões no SED

Screen (janelas) no modo shell?

Testando se uma variável é número em shell script

Redirecionamento no Shell

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário