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
ExMplayer no Linux Mint 20
Kazam 1.4.5 no Slackware Current
Instalando Vim 8.2 completo no Linux Mint 20
OpenArena que funciona no Linux Mint 20
Extraindo a Versão de um Pacote do Debian
Leitura recomendada
Ações condicionais no SED
Bloqueando tráfego via MAC com iptables
Limitando o alcance do SED por números de linha
Eliminando linhas de comentário ou linhas em branco no Linux
Expressão regular para validar um IP
Comentários
Nenhum comentário foi encontrado.