Enchantner
Enchantner

Reputation: 1554

How to use 'patch' command with the standard output?

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?

Upvotes: 3

Views: 6758

Answers (2)

Salo
Salo

Reputation: 298

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
    

Upvotes: 7

glezvalle
glezvalle

Reputation: 49

You can use "-o -" to explicitly redirect the output to stdout:

patch fileToPatch patch.diff -o -

Hope it helps

Upvotes: 3

Related Questions