언제 "...|읽는 동안..."이 필요합니까?

언제 "...|읽는 동안..."이 필요합니까?

나는 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

관련 정보