一次显示一页文件文本,等待 20 秒,然后自动前进

Ala*_*lan 4 more aix text-processing scrolling

这个问题是针对 AIX 7 的

我一直在研究一个可以显示几页文本的监视器。最初最终用户想要一个我构造的滚动列表:

IFS=''; cat plfeed | while read line; do echo $line; perl -e 'select(undef,undef,undef,.8)'; done
Run Code Online (Sandbox Code Playgroud)

最终用户已决定,他们宁愿在设定的时间(例如 20 秒)内显示一页(24 行)的输出。我知道更多会让我一次显示一个页面,但它需要键盘输入,这对我的用例来说是不可接受的。

tldr;

如何自动执行“更多”命令,或构建一个类似的功能,在页面之间休眠然后自动前进?

meu*_*euh 5

这个相当标准awk在 AIX 上应该没问题

awk '{if(NR>1 && NR%24==1)system("sleep 20");print}'
Run Code Online (Sandbox Code Playgroud)

正如评论所说,如果你想在中断退出,可以代替system()通过

{if(system("sleep 20"))exit}
Run Code Online (Sandbox Code Playgroud)

但它可能不适用于您的操作系统。