diff --git a/doc/rg.1 b/doc/rg.1 index 5c21b0d9..95539939 100644 --- a/doc/rg.1 +++ b/doc/rg.1 @@ -340,6 +340,17 @@ Neither this flag nor any other flag will modify your files. .PP Capture group indices (e.g., $5) and names (e.g., $foo) are supported in the replacement string. +.PP +Note that the replacement by default replaces each match, and NOT the +entire line. +To replace the entire line, you should match the entire line. +For example, to emit only the first phone numbers in each line: +.IP +.nf +\f[C] +rg\ \[aq]^.*([0\-9]{3}\-[0\-9]{3}\-[0\-9]{4}).*$\[aq]\ \-\-replace\ \[aq]$1\[aq] +\f[] +.fi .RE .TP .B \-s, \-\-case\-sensitive diff --git a/doc/rg.1.md b/doc/rg.1.md index 3ac61851..7f19cecf 100644 --- a/doc/rg.1.md +++ b/doc/rg.1.md @@ -231,6 +231,12 @@ Project home page: https://github.com/BurntSushi/ripgrep Capture group indices (e.g., $5) and names (e.g., $foo) are supported in the replacement string. + Note that the replacement by default replaces each match, and NOT the + entire line. To replace the entire line, you should match the entire line. + For example, to emit only the first phone numbers in each line: + + rg '^.*([0-9]{3}-[0-9]{3}-[0-9]{4}).*$' --replace '$1' + -s, --case-sensitive : Search case sensitively. This overrides --ignore-case and --smart-case. diff --git a/src/app.rs b/src/app.rs index ff61c0a3..a9dd06a6 100644 --- a/src/app.rs +++ b/src/app.rs @@ -417,7 +417,10 @@ lazy_static! { "Replace every match with the string given when printing \ results. Neither this flag nor any other flag will modify your \ files.\n\nCapture group indices (e.g., $5) and names \ - (e.g., $foo) are supported in the replacement string."); + (e.g., $foo) are supported in the replacement string.\n\n\ + Note that the replacement by default replaces each match, and \ + NOT the entire line. To replace the entire line, you should \ + match the entire line."); doc!(h, "case-sensitive", "Search case sensitively.", "Search case sensitively. This overrides -i/--ignore-case and \