
Estou executando o Gentoo Linux. Um programa ( equery
) gera uma lista enorme de todos os pacotes atualmente instalados ( equery list "*"
). Quero descobrir quais deles são instáveis. Equery marca os pacotes instáveis com [ ~] antes do nome do pacote. O problema é que isso só acontece quando a saída não é redirecionada para lugar nenhum - no terminal. Quando tento usar o grep na saída ( equery list "*" | grep "~"
) ou redirecioná-la para um arquivo, incluindo stderr ( equery list "*" &> eql.txt
), essas informações não são redirecionadas - apenas os nomes dos pacotes.
Então, como redireciono TODA a saída de um programa?
Responder1
Tente agrupar seu comando equery comremover buffer.
unbuffer equery list "*" | grep "-"
O comando unbuffer faz seu programa de argumento pensar que está conectado a um terminal. Talvez seja necessário adicionar outro nível de citação ao "*"
argumento.
Responder2
equery -N
desativa a detecção de tubos.
Então equery -N list '*' | grep '~'
deveria fazer o trabalho.