¿Cuándo necesitas "...|mientras se lee..."?

¿Cuándo necesitas "...|mientras se lee..."?

Vi un video tutorial para el comando pegar, en el que tres archivos foo,bar,baz estaban conectados horizontalmente con un signo "+" entre ellos.

cat foo
51
33
67

cat bar
10
1
13

cat baz
7
100
15

Entonces, usó un comando pegar para hacer que cada línea fuera una suma completa y canalizó esto en un bucle while que recorre cada línea y la coloca en la calculadora bc:

paste -d+ foo bar baz | while read bla;do echo $bla|bc;done

Estaba confundido por qué usó el complicado bucle while desde

paste -d+ foo bar baz|bc 

funcionó también,

sin embargo esto me hizo pensar"¿Hay situaciones en las que conectar el bucle while tiene sentido o incluso es la única forma de lograr algo?"

Respuesta1

En este caso fue solo para mostrar lo que se avanza en el momento, y línea por línea. Canalizar bucles while a veces es realmente útil, por ejemplo, mostrar una barra de progreso. Ejemplo de barra de progreso:

for i in $(seq 1 100)
do
sleep 0.1 
echo $i
done | whiptail --title 'Test script' --gauge 'Running...' 6 60 0

información relacionada