「apt-get 検索」と「apt-get ポリシー」のマージ

「apt-get 検索」と「apt-get ポリシー」のマージ

apt-get searchsumの出力をマージしながら、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が提供するスクリプトはうまくいきますが、誰かが上記のスクリプトの問題を説明できますか?

ベストアンサー1

おすすめ記事