Lista os nomes de todos os pacotes que começam com uma palavra específica

2

Digamos que eu queira instalar todos os pacotes ubuntu-wallpapers , por isso gostaria de inserir o seguinte no terminal:

sudo apt install ubuntu-wallpapers*

Estou tentando obter o mesmo efeito usando

dpkg --set-selections < ./pkgs.txt

O problema é que esse método não suporta o curinga * no arquivo pkgs.txt .

Consegui obter a lista exata de pacotes usando

apt-cache search ^ubuntu-wallpapers

mas também recebo as descrições. Existe uma maneira de obter apenas os nomes dos pacotes para que eu possa redirecionar a saída para o arquivo pkgs.txt ?

    
por PenguinCSC 11.01.2018 / 11:15

1 resposta

2

Você pode usar apt-cache pkgnames para listar apenas os nomes de todos os pacotes que começam com um prefixo específico:

$ apt-cache pkgnames ubuntu-wallpaper
ubuntu-wallpapers-karmic
ubuntu-wallpapers-vivid
ubuntu-wallpapers-maverick
ubuntu-wallpapers-utopic
ubuntu-wallpapers-wily
ubuntu-wallpapers-quantal
ubuntu-wallpapers-raring
ubuntu-wallpapers-precise
ubuntu-wallpapers-lucid
ubuntu-wallpapers-natty
ubuntu-wallpapers
ubuntu-wallpapers-trusty
ubuntu-wallpapers-oneiric
ubuntu-wallpapers-saucy
ubuntu-wallpapers-xenial

Veja man apt-cache para mais informações.

Como alternativa, você pode processar a saída de apt-cache search e exibir apenas a primeira coluna, canalizando-a, por exemplo. através de um destes comandos abaixo ou algo similar:

  • cut -d' ' -f1
    
  • grep -Eo '^\S+'
    
  • sed 's/\s.*//'
    
  • awk '{print }'
    
por Byte Commander 11.01.2018 / 11:19