Text-Processing
一次顯示一頁文件文本,等待 20 秒,然後自動前進
這個問題適用於 AIX 7
我一直在研究一個可以顯示幾頁文本的顯示器。最初,最終使用者想要一個滾動列表,我為此建構了這個:
IFS=''; cat plfeed | while read line; do echo $line; perl -e 'select(undef,undef,undef,.8)'; done
最終使用者決定他們寧願在設定的時間(例如 20 秒)內顯示一頁(24 行)輸出。我知道更多會讓我一次顯示一個頁面,但它需要鍵盤輸入,這對我的案例來說是不可接受的。
tldr;
如何自動化“更多”命令,或建構一個類似的功能,在頁面之間休眠然後自動前進?
這個相當標准
awk
在 AIX 上應該沒問題awk '{if(NR>1 && NR%24==1)system("sleep 20");print}'
如評論中所述,如果要在中斷時退出,可以將
system()
by{if(system("sleep 20"))exit}
但它可能不適用於您的作業系統。
#!/usr/bin/env expect set timeout 20 spawn -noecho man autoexpect while 1 { expect { timeout { send " " } -ex "(END)" { exit } } }