我想要做的是:
>开始一个连续输出文本的过程
>输出到两个命令的管道:
>记录器脚本
>’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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。