1

如果我做类似的事情 cat myfile | myreader

cat 将尽可能快地将myfile内容逐行发送到标准输出。

我想逐行发送文件内容,但在每行之后“休眠”一段时间。

你们有谁知道如何做到这一点?

我知道可以在myreader中等待,但这不是问题。修改程序读取标准输入并不总是可能的,或者在我的情况下它是不可取的。

4

3 回答 3

2

你可以这样做:

$ cat myfile|while read line; do echo $line; sleep 1; done|./myreader
于 2012-12-07T14:46:54.210 回答
0

这可以通过以下方式完成:

while read line
do
    echo "$line"
done <<< myfile | ./myreader

但是,你为什么要这样呢?闻起来像你想使用script或类似的东西。

于 2012-12-07T15:25:54.920 回答
0

你可以让 awk 在行之间插入一个暂停:

cat myfile | awk '{print $0;system("sleep 2")}' | myreader

或者更好(避免UUOC):

awk '{print $0;system("sleep 2")}' myfile | myreader
于 2012-12-07T14:52:42.693 回答