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가 제공한 스크립트는 잘 작동하지만 누군가 위 스크립트의 문제점을 설명해 주실 수 있습니까?