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