简体   繁体   English

不输出到STDOUT的程序的管道输出

[英]piping output from programs that do not output to STDOUT

Say I have a program that outputs to a file which is provided by an (required) argument: 假设我有一个程序输出到(必需的)自变量提供的文件:

./foo -o bar.txt

Is there any way to trick it into outputting to a pipe? 有什么办法欺骗它输出到管道吗? This just outputs to a file named - . 这只会输出到名为-的文件。

./foo -o - | less

您可以使用/dev/stdout作为文件名:

./foo -o /dev/stdout | less

other solution, create a named pipe: 其他解决方案,创建一个命名管道:

mkfifo /tmp/myfifo; ./foo -o /tmp/myfifo
</tmp/myfifo cat -

这将提供bar.txt的内容以随着文件的增长进行过滤

tail -f bar.txt | filter

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM