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