What is newline character — ‘\n’

From the sed man page:

Normally, sed cyclically copies a line of input, not including its terminating newline character, into a pattern space, (unless there is something left after a “D” function), applies all of the commands with addresses that select that pattern space, copies the pattern space to the standard output, appending a newline, and deletes the pattern space.

It’s operating on the line without the newline present, so the pattern you have there can’t ever match. You need to do something else – like match against $ (end-of-line) or ^ (start-of-line).

Here’s an example of something that worked for me:

$ cat > states
California
Massachusetts
Arizona
$ sed -e 's/$/\
> /' states
California

Massachusetts

Arizona

Leave a Comment