GAWK ターミナルで遅延表示
拡張関数 sleep() @load "time"
表示を遅延させることに深い意味はありません。GAWK では、普通に使っている限り、拡張関数 sleep() の出番はあまりないかと思います。sleep(sec) は sec 秒間処理を中断させます。sec は整数である必要はなく、例えば、0.001 秒間中断とすることも可能です。
slow_print.awk
BEGIN
1 : # slow_print.awk
2 : # usage: gawk -f slow_print.awk infile
3 :
4 : @load "time";
5 : BEGIN{
6 : srand(sprintf("%d%06d", systime(), PROCINFO["pid"]));
7 : }
ACTION_01
8 : {
9 : slow_print($0);
10 : }
slow_print()
11 :
12 : function slow_print(str, i, ch) {
13 : while (ch = substr(str, ++i, 1)) {
14 : sleep(rand() / 2);
15 : printf("%s", ch);
16 : }
17 : sleep(rand());
18 : print "";
19 : }