Linux – How to use ‘patch’ command with the standard output

bashlinuxpatch

I'm trying to catch an output of bash patch on stdout, but I receive an error:

patch -o- some/file 
patch: can't output patches to standard output

Can I get the patch result on stdout?

Best Answer

There are a couple of ways to do this.

  1. Use a temporary file to collect the patched file, cat the temp file and then delete it. A one-liner would be:

    patch fileToPatch patch.diff -o temp.out;cat temp.out;rm temp.out
    
  2. Send the output directly to /dev/tty:

    patch fileToPatch patch.diff -o /dev/tty