15.1 Options to patch
Here is a summary of all of the options that GNU patch
accepts. See patch and Tradition, for which of these options are
safe to use in older versions of patch.
Multiple single-letter options that do not take an argument can be
combined into a single command line argument with only one dash.
- -b
- --backup
- Back up the original contents of each file, even if backups would
normally not be made. See Backups.
- -B prefix
- --prefix=prefix
- Prepend prefix to backup file names. See Backup Names.
- --backup-if-mismatch
- Back up the original contents of each file if the patch does not
exactly match the file. This is the default behavior when not
conforming to POSIX. See Backups.
- --binary
- Read and write all files in binary mode, except for standard output
and /dev/tty. This option has no effect on
POSIX-conforming systems like GNU/Linux. On systems where
this option makes a difference, the patch should be generated by
‘diff -a --binary’. See Binary.
- -c
- --context
- Interpret the patch file as a context diff. See patch Input.
- -d directory
- --directory=directory
- Make directory directory the current directory for interpreting
both file names in the patch file, and file names given as arguments to
other options. See patch Directories.
- -D name
- --ifdef=name
- Make merged if-then-else output using name. See If-then-else.
- --dry-run
- Print the results of applying the patches without actually changing
any files. See Dry Runs.
- -e
- --ed
- Interpret the patch file as an ed script. See patch Input.
- -E
- --remove-empty-files
- Remove output files that are empty after the patches have been applied.
See Creating and Removing.
- -f
- --force
- Assume that the user knows exactly what he or she is doing, and do not
ask any questions. See patch Messages.
- -F lines
- --fuzz=lines
- Set the maximum fuzz factor to lines. See Inexact.
- -g num
- --get=num
- If num is positive, get input files from a revision control
system as necessary; if zero, do not get the files; if negative, ask
the user whether to get the files. See Revision Control.
- --help
- Output a summary of usage and then exit.
- -i patchfile
- --input=patchfile
- Read the patch from patchfile rather than from standard input.
See patch Options.
- -l
- --ignore-white-space
- Let any sequence of blanks (spaces or tabs) in the patch file match
any sequence of blanks in the input file. See Changed White Space.
- -n
- --normal
- Interpret the patch file as a normal diff. See patch Input.
- -N
- --forward
- Ignore patches that patch thinks are reversed or already applied.
See also -R. See Reversed Patches.
- --no-backup-if-mismatch
- Do not back up the original contents of files. This is the default
behavior when conforming to POSIX. See Backups.
- -o file
- --output=file
- Use file as the output file name. See patch Options.
- -pnumber
- --strip=number
- Set the file name strip count to number. See patch Directories.
- --posix
- Conform to POSIX, as if the POSIXLY_CORRECT environment
variable had been set. See patch and POSIX.
- --quoting-style=word
- Use style word to quote names in diagnostics, as if the
QUOTING_STYLE environment variable had been set to word.
See patch Quoting Style.
- -r reject-file
- --reject-file=reject-file
- Use reject-file as the reject file name. See Reject Names.
- -R
- --reverse
- Assume that this patch was created with the old and new files swapped.
See Reversed Patches.
- -s
- --quiet
- --silent
- Work silently unless an error occurs. See patch Messages.
- -t
- --batch
- Do not ask any questions. See patch Messages.
- -T
- --set-time
- Set the modification and access times of patched files from time
stamps given in context diff headers, assuming that the context diff
headers use local time. See Patching Time Stamps.
- -u
- --unified
- Interpret the patch file as a unified diff. See patch Input.
- -v
- --version
- Output version information and then exit.
- -V backup-style
- --version=control=backup-style
- Select the naming convention for backup file names. See Backup Names.
- --verbose
- Print more diagnostics than usual. See patch Messages.
- -x number
- --debug=number
- Set internal debugging flags. Of interest only to patch
patchers.
- -Y prefix
- --basename-prefix=prefix
- Prepend prefix to base names of backup files. See Backup Names.
- -z suffix
- --suffix=suffix
- Use suffix as the backup extension instead of ‘.orig’ or
‘~’. See Backup Names.
- -Z
- --set-utc
- Set the modification and access times of patched files from time
stamps given in context diff headers, assuming that the context diff
headers use UTC. See Patching Time Stamps.