Como posso obter uma lista com os pacotes selecionados pelo apt-get autoremove?

7

Existe algum comando que imprima apenas o nome dos pacotes que apt-get autoremove seleciona? Estou criando um script que atualiza o kernel, remove o kernel antigo e os pacotes desnecessários ( apt-get autoremove ), mas quero imprimir na tela a lista de pacotes que serão removidos por apt-get autoremove , como posso fazer isso?

    
por Afonso Sousa 24.07.2015 / 22:30

2 respostas

9

Desde conforme seu comentário você deseja listar apenas os pacotes que serão removidos:

apt-get --dry-run autoremove | grep -Po '^Remv \K[^ ]+'

% de colapso do comandogrep:

  • -P : interpreta o padrão fornecido como um padrão PCRE (Perl Compatible Regular Expression)
  • -o : imprime somente a string correspondente em vez da linha inteira

Divisão de regex:

  • ^ : corresponde ao início da linha
  • Remv : corresponde a uma Remv string
  • \K : exclui a substring correspondida anteriormente da string correspondente
  • [^ ]+ : corresponde a um ou mais caracteres que não são
$ apt-get --dry-run autoremove | grep -Po 'Remv \K[^ ]+'
libapache2-mod-php5
php5-readline
php5-cli
libonig2
libqdbm14
php5-json
php5-common 
    
por kos 25.07.2015 / 10:59
2

Na verdade, você só precisa filtrar a saída do seu

sudo apt-get autoremove --dry-run 
comando

.

Por exemplo, você pode fazer isso com

sudo apt-get autoremove --dry-run  | head -n 5 | tail -n 1
    
por lemonslice 25.07.2015 / 01:17