【发布时间】:2013-12-18 11:49:13
【问题描述】:
我的程序使用文本文件而不是标准输出作为其输出。它不断在文件中添加新行。每次我想附加最新的内容行时,我都可以尾随文件。但现在我希望附加的内容同时显示在我的终端上,就好像我的程序将 stdout 作为其输出一样。
我找到了一个丑陋的解决方案:每五秒打印一次新的附加内容,方法是提前五秒备份文本文件的内容,并用它来区分当前内容,如下所示:
#!/bin/sh
# show the appended text of a file every 5 seconds
echo `pwd`;
while true
do
cp $1 $1.earlier;
sleep 5;
echo `date`;
diff $1 $1.earlier;
done
【问题讨论】:
-
使用tail -f怎么样?
-
天哪!!!我从来不知道 tail 有一个 -f 选项!感谢 Rubens,感谢您协助格式化代码。谢谢汤姆罗恩这么快告诉我正确答案!