Eu quero ver quantos pacotes de uma lista não estão instalados. Eu uso o archlinux, então eu uso o pacman -Q para determinar se um pacote está instalado. Se não estiver instalado, ele retornará uma mensagem como: "error: package 'package-name' não foi encontrado".
Eu achei que poderia usar grep -c 'error'
assim:
pacman -Q autoconf automake binutils bison fakeroot flex gcc libtool m4 make patch pkg-config | grep -c 'error'
Mas, para mim, isso retorna:
error: package 'bison' was not found
error: package 'pkg-config' was not found
0
Ele retorna 0, mas eu gostaria que ele retornasse 2. Mesmo com o awk ele não funciona:
pacman -Q autoconf automake binutils bison fakeroot flex gcc libtool m4 make patch pkg-config | awk '/error: / {count++} END {print count}'
Para mim, isso retorna:
error: package 'bison' was not found
error: package 'pkg-config' was not found
Então, meu palpite é que a variável count
nem sequer tem um valor, pois não é impressa. Eu também tentei wc -l
, mas isso não funciona, apenas retorna 0 para mim.
Qual é a maneira correta de imprimir o número de pacotes não instalados?
EDIT: notei quando faço:
pacman -Q autoconf automake binutils bison fakeroot flex gcc libtool m4 make patch pkg-config > tempfile
cat tempfile
As duas linhas contendo a mensagem de erro não são adicionadas ao tempfile
(o restante da saída do comando faz). Pensei que isso poderia ajudar a resolver esse problema.