Filter FAQ • History • Candidate programs • Setup • Standard output • Standard input • Idle timeout • Command line • Quoted arguments • Testing • 32 & 64-bit • System acct • Migrating • Troubleshooting
Don’t I need stdin and stdout? My program has both input and output
In the filter setup, we saw how to configure the RPM Remote Print Manager® ("RPM") filter action for a program that doesn’t need a complex configuration.
In this page, we’ll take a look at a program that uses "standard output". Some programs write their output to the screen or the command window. It’s easy to write a program that works that way in any number of modern programming languages (including C++ and Python as we use here).
The point is not that you should do this but undoubtedly you will run into programs that work this way. They just don’t have an argument for an output file on their command line, and that does not need to be a limitation when you’re using it with RPM.
This is how you do that setup:
This time we’ve used another program from the "Cygwin" package called "head". Cygwin is a free download with many utilities very similar to what you find on Linux systems. This program takes an optional "number of lines" argument in the form -xx where "xx" is a number. Here, "dash sixty" means to read up to sixty lines and write them on the console, or "standard out".
Note that at the bottom of the dialog, we have a section called "Program Output" which I selected
The template or mask argument includes ".txt". This example will use the job name and add a ".txt" extension to the name. Our output file will be "whatever the job name is" dot TXT.
I ran several hundred files through the filter action and got exactly the expected result.