You are here


Sed: invalid reference \1 on `s' command's RHS

Submitted by Druss on Mon, 2015-07-06 13:46

If you see something like the following error message when you run a sed command:

invalid reference \1 on `s' command's RHS

then it (probably) means that your regex capture group has not been escaped properly.

So, if you are using a command like:

sed "s/foo(bar)[123]/baz\1/"

then it needs to be escaped like so:

sed "s/foo\(bar\)[123]/baz\1/"

In other words, round parentheses/brackets need to be escaped while the square brackets do not :|

sed: Deleting all lines between two types of lines

Submitted by Druss on Sat, 2012-01-28 01:17

Today, I made quite an impression on my furniture thanks to incessant contact between it and my illustrious head. This, as usual, was due to my looking for a clean regex to solve my issue while working with text files in Vim. My task was, I initially believed, quite simple: delete all the lines that are sandwiched between two types/patterns of lines. In this case, the top slice of the sandwich consisted of a line which was entirely a number and the bottom slice was a line entirely populated with underscores.

File renaming using sed and xargs: Prefixing all filenames with a 0 from the commandline

Submitted by Druss on Tue, 2011-01-25 00:56

Earlier today, I wanted to prefix a number of image files on a server with a 0. If this was on my desktop, I would have simply used a graphical tool such as the excellent M├ętamorphose. However, in this case, only a command-line was available. While Google threw up a number of bash scripts, I was curious to see if this could be done in a cleaner and more concise manner. Following the excellent reference to sed and more Google magicking, I arrived at

Subscribe to RSS - sed