多くのバイナリが正しい場所の実行率をどのように変更しますか?

多くのバイナリが正しい場所の実行率をどのように変更しますか?

package managers私は、バイナリファイルが実行されたときに実行する多くのタスクを実行するCプログラムを作成しようとしています。端末に既に出力されたテキストを変更して追加するので興味深くなります。 Cだけでなくbashやpythonでもこれを行う方法を知りたいです。たとえば、

 program                  23 MiB   981 KiB/s 00:00 [######################] 100%

#私の言葉は、ダウンロード中に成長するのと同じことを意味します。

助けてくれてありがとう。

答え1

これは通常、次の行ではなく行の先頭にカーソルを戻すために、改行の代わりにキャリッジリターンを使用して行全体を繰り返し印刷することによって行われます。例えば、

for i in {0..20}; do
  printf "ETA %2.1ds [%-20.${i}s]\r" "$((20-i))" "####################"
  sleep 1
done
printf "\n"

\rCに触発された多くのコンテキストでは、キャリッジリターン文字はで表されます。

より複雑なディスプレイは通常呪いスタイルライブラリ。これは、出力を処理するフルスクリーン「テキストモード」アプリケーションの数です。真夜中司令官

関連情報