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

时间:2011-02-02 16:10:53

标签: bash unix pipe named-pipes

假设我有一个程序输出到由(必需)参数提供的文件:

./foo -o bar.txt

有没有办法欺骗它输出到管道?这只是输出到名为-的文件。

./foo -o - | less

3 个答案:

答案 0 :(得分:8)

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

./foo -o /dev/stdout | less

答案 1 :(得分:0)

随着文件的增长,这会将bar.txt的内容提供给过滤器

tail -f bar.txt | filter

答案 2 :(得分:0)

其他解决方案,创建命名管道:

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