나는 foo, bar, baz 세 파일이 "+" 기호를 사용하여 수평으로 연결되어 있는 붙여넣기 명령에 대한 비디오 튜토리얼을 보았습니다.
cat foo
51
33
67
cat bar
10
1
13
cat baz
7
100
15
그래서 그는 붙여넣기 명령을 사용하여 각 줄을 전체 추가로 만들고 이를 각 줄을 반복하여 bc 계산기에 넣는 while 루프에 연결했습니다.
paste -d+ foo bar baz | while read bla;do echo $bla|bc;done
나는 왜 그가 복잡한 while 루프를 사용했는지 혼란스러웠습니다.
paste -d+ foo bar baz|bc
일도 했고,
그러나 이것이 나를 그렇게 만들었습니다"While 루프에 파이프를 연결하는 것이 타당하거나 무언가를 달성하는 유일한 방법인 상황이 있습니까?"
답변1
이 경우에는 현재 진행 중인 내용을 출력하고 해당 라인을 한 라인씩 출력하기 위한 것입니다. while 루프를 파이핑하는 것은 때로는 진행률 표시줄을 표시하는 등 정말 유용합니다. 진행률 표시줄 예:
for i in $(seq 1 100)
do
sleep 0.1
echo $i
done | whiptail --title 'Test script' --gauge 'Running...' 6 60 0