OS X + Sed: “extra characters at the end of l command” Error

PROBLEM

When executing the following command on OS X…

sed -i 's/megatron/pony/g' /path/to/file.txt

… the following error occurs:-

sed: 1: "/path/to/file.txt": extra characters at the end of l command

SOLUTION

Unlike Ubuntu, OS X requires the extension to be explicitly specified. The workaround is to set an empty string:-

sed -i '' 's/megatron/pony/g' /path/to/file.txt

… and now, Megatron has transformed into a pony.

Comments

  1. Asle says:

    Thanks! Got the same issue with error “sed: 1: “hello.txt”: extra characters at the end of h command” so adding the empty ” solved that.
    sed -i ” ‘s/FOO/BaR/g’ hello.txt

Leave a Reply

Your email address will not be published.