Tôi muốn nói rằng Juliano đã có câu trả lời đúng nếu bạn có công cụ đó, nhưng tôi cũng muốn đề nghị rằng đây là một chút K & R phong cách tập thể dục gọn gàng: chỉ cần viết một phiên bản đặc biệt của mèo mà đọc một ký tự cùng một lúc từ stdin, kết quả đầu ra từng đến stdoutvà sau đó usleeps trước khi di chuyển trên. Hãy chắc chắn để giải nén đầu ra tiêu chuẩn , nếu không điều này sẽ chạy khá giật.
Tôi gọi nó là slowcat.c:
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
int main(int argc, char**argv){
int c;
useconds_t stime=10000; // defaults to 100 Hz
if (argc>1) { // Argument is interperted as Hz
stime=1000000/atoi(argv[1]);
}
setvbuf(stdout,NULL,_IONBF,0);
while ((c=fgetc(stdin)) != EOF){
fputc(c,stdout);
usleep(stime);
}
return 0;
}
Biên dịch nó và thử với
$ ./slowcat 10 < slowcat.c