Ubuntu Terminal 16.05LTS 当我调整终端大小时,如何保持进度条输出在同一行

Ubuntu Terminal 16.05LTS 当我调整终端大小时,如何保持进度条输出在同一行

对于某些在同一行(回车)上打印输出的应用程序,例如wget或任何具有进度条覆盖前一个进度的应用程序,当我调整终端窗口的大小或更改屏幕上的位置时,输出开始每秒在新行上打印一次并连续向下滚动,直到该过程完成 100% 或进度条达到 100%。

例如:

Epoch 0   [Train |                    |    1/20000 batches, 1.86 co
Epoch 0   [Train |                    |    2/20000 batches, 4.65 co
Epoch 0   [Train |                    |    3/20000 batches, 3.10 co  
Epoch 0   [Train |                    |    4/20000 batches, 5.32 co

我想要的是像这样的覆盖输入:

Epoch 0   [Train |                    |    4/20000 batches, 5.32 co

如果我不调整大小,输出将覆盖当前行,并且不会向下滚动。我希望能够调整终端大小,同时保持此类输出在同一行上(如预期的那样)。

直接在终端上运行时不会出现此问题wget,但我记得通过 C 程序或 Python 程序调用它时,重新滚动会触发此问题,并且输出将不断打印在新行上。

例如,当我想将一些以前的输出保留在屏幕上以用于演示目的时,这就会有问题。我尝试调整终端的大小并将其定位运行我的 Python 脚本,问题仍然存在。

有没有什么办法可以防止这种情况发生?

相关内容