什麼時候需要「...|閱讀時...」?

什麼時候需要「...|閱讀時...」?

我看到一個paste命令的視頻教程,其中三個文件foo,bar,baz是水平連接的,中間有一個“+”號。

cat foo
51
33
67

cat bar
10
1
13

cat baz
7
100
15

因此,他使用貼上命令將每一行作為一個完整的加法,並將其透過管道傳輸到 while 循環中,該循環遍歷每一行並將其放入 bc 計算器中:

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

相關內容