Piping the output of a program to Preview.app
I'm using an application (the dot
program of the graphviz
library) that generates a wide variety of file formats including PostScript and PDF. It can send the result to stdout
or to a file. I'm currently sending it to a file and opening it with Preview.
Is there any way to pipe the output and have it be read by Preview, so that I'd don't have to generate a file and have it lying around? This is going to be used by a number of people who won't know the internal structure of the generating script and I don't want to clutter their folders or complicate their lives.
More generally, is there any way to take a program that sends its output to stdout
and pass that output to an program that usually takes it's input from a file, without actually creating a file?
Solution 1:
$ your_program | open -f -a /Applications/Preview.app
Source: View Terminal ‘man’ Pages In Preview / PDF
Solution 2:
f=$(mktemp -t test).txt; echo test > $f; open $f -a TextEdit # f=$TMPDIR/test.txt