如何减慢终端上多页标准输出的滚动速度?

mkc*_*mkc 4 terminal stdout

在我是管理团队成员的集群上,我经常需要查看各种命令的多页标准输出,例如sudo find /查找任何问题(例如断开的链接)或检查目录树。在其他时候,我需要查看包含项目列表的长文本文件,以查看是否有任何不寻常的名称。

通常,通过 管道输出less,我可以按页面滚动,但我认为如果标准输出滚动得有点慢,就像电影结尾的演职员表一样。

有没有办法在 bash 或任何其他终端环境中完成此操作?

小智 10

pv,管道查看器,将让您每秒打印一行,如下使用:

cat foo | pv --quiet --line-mode --rate-limit 1 
Run Code Online (Sandbox Code Playgroud)

(或者,更短的,pv -qlL1)。在 中--line-mode--rate-limit( -L) 标志定义了每秒将打印的行数;数字越大,输出越快。

它应该在您发行版的存储库中可用(例如aptitude install pv获取它)。


Lan*_*and 9

来自 thrig 对 OP 的评论的回答。效果很好。更改睡眠后的小数以修改行间时间。

sudo find / | awk '{system("sleep .5");print}'
Run Code Online (Sandbox Code Playgroud)

按 ctrl+z 退出,然后终止作业(使用 bash 时);ctrl+c 仅退出该行。

编辑:

根据下面的评论做了一些研究。该建议awk '{system(sleep.5)||exit;print}'在我的系统上不起作用,但以下内容似乎允许 ctrl+c 退出。

awk '{if (system("sleep .5 && exit 2") != 2) exit; print}'

将它放在脚本中或给它一个别名将使您免于腕管。