title: How do I transparently compress/decompress a file as a program writes to/reads from it?
body: <p>I have a program that reads and writes very large text files.  However, because of the format of these files (they are ASCII representations of what should have been binary data), these files are actually very easily compressed.  For example, some of these files are over 10GB in size, but gzip achieves 95% compression.</p>
  
  <p>I can't modify the program but disk space is precious, so I need to set up a way that it can read and write these files while they're being transparently compressed and decompressed.</p>
  
  <p>The program can only read and write files, so as far as I understand, I need to set up a named pipe for both input and output.  Some people are suggesting a compressed filesystem instead, which seems like it would work, too.  How do I make either work?</p>
  
  <p>Technical information:  I'm on a modern Linux.  The program reads a separate input and output file.  It reads through the input file in order, though twice.  It writes the output file in order.</p>