Pipe Viewer hat diese Funktion.
cat /dev/urandom | pv -L 3k | foo
Ich würde sagen, dass Juliano die richtige Antwort hat, wenn Sie dieses Tool haben, aber ich würde auch vorschlagen, dass dies eine nette kleine Übung im K&R-Stil ist:Schreiben Sie einfach eine spezialisierte Version von cat, die jeweils ein Zeichen aus stdin
, gibt jeweils an stdout
aus und dann usleep
s, bevor Sie weitermachen. Unbedingt die Standardausgabe entpuffern, sonst läuft diese ziemlich ruckelig.
Ich habe das slowcat.c
genannt :
#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;
}
Kompilieren Sie es und versuchen Sie es mit
$ ./slowcat 10 < slowcat.c
Gaspedal scheint speziell konstruiert zu sein dafür. zB
cat /dev/urandom | throttle -k 3 | foo