linux – 如何将进程的输出传递给logger命令和head命令?

前端之家收集整理的这篇文章主要介绍了linux – 如何将进程的输出传递给logger命令和head命令?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我想要做的是:

>开始一个连续输出文本的过程
>输出到两个命令的管道:

>记录器脚本
>’head’命令,所以我可以保存初始进程输出的第一行.

到目前为止我尝试过的(不成功)是:

./myProgram | tee> (myLogger log.txt)|头> firstLines.txt

问题是,头部完成后myProgram会立即退出.

即使我在tee命令中使用-i,也无法让myProgram继续运行.

由于记录器可能会将传入的文本附加到现有文件,因此执行
head log.txt> firstLines.txt
在这种情况下不起作用.

最佳答案
您可以使用awk作为两者的替代方法

./myProgram | 
    awk 'NR<=10{print > "firstLines.txt"} NR>10{close("firstLines.txt")} 1' > log.txt

猜你在找的Linux相关文章