【发布时间】:2016-04-18 12:32:38
【问题描述】:
我想做的是:
启动一个连续输出文本的进程
-
将输出传递给两个命令:
- 记录器脚本
- 'head' 命令,所以我可以将第一行保存为初始进程输出。
到目前为止我尝试过的(不成功)是:
./myProgram | tee > (myLogger log.txt) | head > firstLines.txt
问题是myProgram 在head 完成后立即退出。
即使我在tee 命令中使用-i,我也无法让myProgram 继续运行。
由于记录器可能会将传入的文本附加到现有文件中,因此执行
head log.txt > firstLines.txt
在这种情况下不起作用。
【问题讨论】:
-
切换顺序。将
>(...)用于head并为您的记录器使用普通管道? -
这也是我的第一个猜测,但我试过了,问题仍然存在。
-
不太优雅的解决方案:输出到一个临时文件,然后将该临时文件附加到 log.txt,然后头临时文件,然后删除临时文件