---
name: "rrep"
section: "1"
platform: "linux"
package: "rrep"
version: "1.3.7-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/rrep"
---

# rrep(1)

replace patterns in files.

## NAME

rrep - replace patterns in files.

## SYNOPSIS

**rrep** \[*OPTIONS*\] *PATTERN* *REPLACEMENT* \[*FILE*...\]

## DESCRIPTION

The **rrep** utility searches input *FILE*s for matches to a given *PATTERN* and replaces those matches by a given *REPLACEMENT*. The pattern is, by default, a basic regular expression. The replacement string may contain special characters to refer to portions of the matched pattern.

Binary files are, by default, ignored. A file is regarded as binary if it contains the null character.

## OPTIONS

- **-E**, **--extended-regexp**

  *PATTERN* is interpreted as an extended regular expression (ERE).

- **-F**, **--fixed-strings**

  *PATTERN* and *REPLACEMENT* are interpreted as fixed strings, not as regular expressions or escape sequences.

- **-R**, **-r**, **--recursive**

  Each directory that is given on the command line is processed recursively. Files and sub-directories starting with the **.** character are, by default, ignored.

- **--include=***FILE\_PATTERN*

  Only files are processed that match the pattern *FILE\_PATTERN*, except for files that are specifically given on the command line. **\***, **?**, and **\[**...**\]** can be used as wildcards in *FILE\_PATTERN*. Wildcards and backslash characters can be quoted with **\\**.

- **--exclude=***FILE\_PATTERN*

  Files that match the pattern *FILE\_PATTERN* will be skipped, except for files that are specifically given on the command line (using wildcard matching as described under **--include**).

- **--exclude-dir=***PATTERN*

  Directories that match *PATTERN* will be skipped, except for files that are specifically given on the command line (using wildcard matching as described under **--include**).

- **-V**, **--version**

  Print the version number of **rrep**.

- **-S** *SUFFIX***, --suffix=***SUFFIX*

  Override default backup suffix. This option implicitly activates backups.

- **-a**, **--all**

  Files and sub-directories starting with the **.** character in recursively processed directories (see **--recursive**) are processed as well.

- **-b**

  Backup before overwriting files. The backup files are written into the directory of the original file. Equivalent to using **--backup=existing**.

- **--backup***\[***=***CONTROL***\]**

  Like **-b** but accepts a version control argument. The file name of the backup file is appended by a **~** character. The backup suffix is **~**, unless set with **--suffix** or *SIMPLE\_BACKUP\_SUFFIX*. The version control method may be selected via the **--backup** option or through the *VERSION\_CONTROL* environment variable. Here are the values:\
     **none**, **off**       never make backups\
                     (even if **--backup** is given)\
     **numbered**, **t**     make numbered backups\
     **existing**, **nil**   numbered if numbered backups exist, simple\
                     otherwise\
     **simple**, **never**   always make simple backups

- **--binary**

  Do not ignore binary files. A file is regarded as binary if it contains the null character **\\0**.

- **--dry-run**

  The replacement is just simulated. No file is actually modified.

- **-e** *PATTERN***, --regexp=***PATTERN*

  Use *PATTERN* for matching. This option can be used to specify a pattern beginning with **-**.

- **-h**, **--help**

  Display a help message that describes the command line options and exit afterwards.

- **-i**, **--ignore-case**

  Case distinctions in *PATTERN* are ignored.

- **--keep-times**

  The original access and modification times of files and directories are restored after processing.

- **-p** *REPLACEMENT***, --replace-with=***REPLACEMENT*

  Use *REPLACEMENT* for substitution.

- **--interactive**

  Each time before a file is modified the user is prompted and can cancel the modification.

- **-q**, **--quiet**, **--silent**

  All normal output messages are suppressed.

- **-s**, **--no-messages**

  All error messages are suppressed.

- **-w**, **--word-regexp**

  Only those matches of *PATTERN* are replaced that match whole words.

- **-x**, **--line-regexp**

  Only those matches of *PATTERN* are replaced that match whole lines.

## EXIT STATUS

Exit status is 1 if any error occurs, 0 otherwise.

## AUTHOR

Written by Arno Onken.

## REPORTING BUGS

If you find a bug in **rrep**, please send electronic mail to \<**asnelt@asnelt.org**\>. Include the version number, which you can find by running **rrep --version**. Also include in your message the output that the program produced and the output you expected.

If you have other questions, comments or suggestions about **rrep**, contact the author via electronic mail to \<**asnelt@asnelt.org**\>. The author will try to help you out, although he may not have time to fix your problems.

## COPYRIGHT

Copyright 2011, 2013, 2019, 2022 Arno Onken

This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

## SEE ALSO

### Regular Manual Pages

[find(1)](/find/1.md), [grep(1)](/grep/1.md), [sed(1)](/sed/1.md), [xargs(1)](/xargs/1.md), [regex(7)](/regex/7.md).

### TeXinfo Documentation

The full documentation for rrep is maintained as a TeXinfo manual. If the info and rrep programs are properly installed at your site, the command

-

  **info rrep**

should give you access to the complete manual.
