在我是管理团队成员的集群上,我经常需要查看各种命令的多页标准输出,例如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
获取它)。
来自 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}'
将它放在脚本中或给它一个别名将使您免于腕管。