我编写了一个程序来实时分析日志文件。我需要给它提供 IP。使用以下命令可以正常工作:
cat /var/log/apache2/access.log | awk '{print $1}' | ./my_program
此外,我可以使用以下命令实时获取 IP:
tail -f /var/log/apache2/access.log | awk '{print $1}'
当我通过管道将其传输到我的程序时,我的程序没有收到任何内容:
tail -f /var/log/apache2/access.log | awk '{print $1}' | ./my_program
这似乎是一个缓冲问题。有没有办法将连续流传输到我的程序?
最佳答案
我找到了缓冲问题的最终解决方案here .
The problem is that stdio is being buffered, ...
关于awk - 通过管道将连续流传输到另一个命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30309000/