你什么时候需要“...|阅读时...”?

你什么时候需要“...|阅读时...”?

我看到一个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

相关内容