2012-12-07 33 views
1

如果我這樣做 cat myfile | myreader如何從標準輸入讀取後等待?

貓將派由線MYFILE內容系,儘可能快地到標準輸出。

我想逐行發送文件內容,但在每行之後有一段時間「睡眠」。

你們有沒有人知道如何做到這一點?

我知道這是可能在myreader等待,但這不是問題。修改程序讀取標準輸入並不總是可能的,或者在我的情況下不可取。

回答

2

你可以這樣做:

$ cat myfile|while read line; do echo $line; sleep 1; done|./myreader 
+1

或只是'cat myfile |同時讀取-r;做回聲「$ REPLY」;睡1;完成| myreader'。或者更好的是:'while read -r;做回聲「$ REPLY」;睡1;完成

0

,你可以讓AWK插入線之間的停頓:

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

或更好,但(避免UUOC):

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

這可以用:

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

但是,你爲什麼要這樣做呢?聞起來像你想要使用script或類似的東西。