私はfoo、bar、bazの3つのファイルが中央に「+」記号で水平にリンクされている貼り付けコマンドのビデオチュートリアルを見ました。
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
この場合、現在の進行状況を1行ずつ出力するために使用されます。たとえば、進行状況バーを表示するためにパイプラインwhileループが役に立つ場合があります。進行状況バーの例:
for i in $(seq 1 100)
do
sleep 0.1
echo $i
done | whiptail --title 'Test script' --gauge 'Running...' 6 60 0