Mesclando 'apt-get search' e 'apt-get policy'

0

Ao tentar combinar a saída de apt-get search e apt-get policy , criei este script a seguir.

apt-cache search zsh | \
tee file1 | awk '{ print $1 }' | \
while read file; do apt-cache policy $file | awk 'FNR==2{print $0}' >> file2; done; \
paste file1 file2 | cat

Parece ser logicamente correto para mim, mas a saída está errada. Eu começo a testar as saídas comando por comando e vi que fazendo wc do arquivo file2 retorna 1353 lines

apt-cache search zsh | \
tee file1 | awk '{ print $1 }' | \
while read file; do apt-cache policy $file | awk 'FNR==2{print $0}' >> file2; done; \
cat file2 | wc -l

mas wc logo após a primeira linha retornar 123 lines

apt-cache search bash | wc -l

Portanto while loop nunca foi obtido 1353 lines da saída, mas processa isso.

Eu esperava a saída como

zgen - Lightweight plugin manager for ZSH inspired by Antigen    Installed: (none)
zplug - next-generation plugin manager for zsh                   Installed: (none)
zsh - shell with lots of features                                Installed: <version>
.
.
.

A lógica do meu script está errada?

Onde estou cometendo o erro aqui?

Edit: O script fornecido pela Steeldriver nos comentários abaixo está funcionando bem, mas alguém poderia explicar o que está errado com o script acima

    
por GypsyCosmonaut 01.07.2017 / 11:55

0 respostas