rep-grep

Crates.iorep-grep
lib.rsrep-grep
version0.0.7
sourcesrc
created_at2023-06-25 21:32:59.530784
updated_at2024-01-01 10:49:04.237466
descriptionwgrep/write-grep CLI
homepagehttps://github.com/robenkleene/rep-grep
repositoryhttps://github.com/robenkleene/rep-grep.git
max_upload_size
id899829
size6,620,169
Roben Kleene (robenkleene)

documentation

README

Rep

rep is a command-line utility that takes grep-formatted lines via standard input, and performs a find-and-replace on them. By default, it outputs a diff-preview of the changes to standard output, and with a flag it can write the changes to the files in place.

Find & replace with rep

Example

Output a diff to standard output replacing foo with bar:

grep -n foo *` | rep foo bar

Add the -w flag to write the changes to the files in place:

grep -n foo *` | rep foo bar -w

The -n (--line-number) option is required so that grep outputs the line number for each match.

Installation

rep is available via cargo:

cargo install rep-grep

Configuration

The default pager is less, the REP_PAGER environment variable can be used to override the pager (e.g., export REP_PAGER=delta in Bash).

Help

rep -h (or rep --help, --help provides slightly longer explanations of some options) will list help for all the command-line flags.

Acknowledgements

  • rep was inspired by wgrep for Emacs, which allows editing grep results in an Emacs buffer and then writing those changes to the source files.
  • Much of the functionality, and the overall structure of the source code, was borrowed sd. rep began as a fork of sd.
  • The code for specifying a custom pager for rep was borrowed from delta`.
Commit count: 39

cargo fmt