合并“apt-get搜索”和“apt-get策略”

合并“apt-get搜索”和“apt-get策略”

在尝试合并apt-get search和的输出时apt-get policy,我创建了以下脚本。

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

对我来说逻辑上似乎是正确的,但输出是错误的。我开始逐个命令测试输出,并看到wc文件file2返回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

wc就在第一行返回之后123 lines

apt-cache search bash | wc -l

因此while循环从未获取1353 lines输出,但它会处理该输出。

我期待像这样的输出

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>
.
.
.

我的脚本逻辑有问题吗?

我在哪里犯了错误?

编辑:Steeldriver 在下面的评论中给出的脚本工作正常,但有人可以解释一下上面的脚本有什么问题吗

相关内容