Skip to content

Instantly share code, notes, and snippets.

@andre3k1
Created July 26, 2018 18:39
Show Gist options
  • Save andre3k1/e3a1a7133fded5de5a9ee99c87c6fa0d to your computer and use it in GitHub Desktop.
Save andre3k1/e3a1a7133fded5de5a9ee99c87c6fa0d to your computer and use it in GitHub Desktop.
How to install gnu sed on Mac OS X and set it as the default
# Check which version of sed is used when you run the `sed` command
# The version that ships with Mac OS X is
# /usr/bin/sed
which sed
# Install gnu-sed using Homebrew
# The `--with-default-names` option configures `sed` to use gnu-sed
# Without that option, you'll need to type `gsed` to use gnu-sed
brew install --default-names gnu-sed
# Verify which version of sed is used when you run the `sed` command
# OK: /usr/local/bin/sed
# BAD: /usr/local/bin/gsed
# If BAD, run `brew uninstall gnu-sed`, then reinstall with `--with-default-names`
which sed
@bkalbs
Copy link

bkalbs commented Nov 13, 2019

As others have pointed out, --with-default-names has been deprecated Homebrew/brew#5731.

Just install gnu-sed without the --with-default-names option. Then run brew info gnu-sed and it will tell you what to add to your PATH to be able to use it as "sed"

brew info gnu-sed (snippet)
==> Caveats
GNU "sed" has been installed as "gsed".
If you need to use it as "sed", you can add a "gnubin" directory
to your PATH from your bashrc like:

    PATH="/usr/local/opt/gnu-sed/libexec/gnubin:$PATH"

@ashishsinghucd
Copy link

Error: invalid option: --default-names
+1

@KelvinFanXian
Copy link

As others have pointed out, --with-default-names has been deprecated Homebrew/brew#5731.

Just install gnu-sed without the --with-default-names option. Then run brew info gnu-sed and it will tell you what to add to your PATH to be able to use it as "sed"

brew info gnu-sed (snippet)
==> Caveats
GNU "sed" has been installed as "gsed".
If you need to use it as "sed", you can add a "gnubin" directory
to your PATH from your bashrc like:

    PATH="/usr/local/opt/gnu-sed/libexec/gnubin:$PATH"

thanks!
brew info ..

@markflarup
Copy link

Just install gnu-sed without the --with-default-names option. Then run brew info gnu-sed and it will tell you what to add to your PATH to be able to use it as "sed"

+1

@anindita-c
Copy link

As others have pointed out, --with-default-names has been deprecated Homebrew/brew#5731.

Just install gnu-sed without the --with-default-names option. Then run brew info gnu-sed and it will tell you what to add to your PATH to be able to use it as "sed"

brew info gnu-sed (snippet)
==> Caveats
GNU "sed" has been installed as "gsed".
If you need to use it as "sed", you can add a "gnubin" directory
to your PATH from your bashrc like:

    PATH="/usr/local/opt/gnu-sed/libexec/gnubin:$PATH"

Thanks!!

@hui-zheng
Copy link

Just install gnu-sed without the --with-default-names option. Then run brew info gnu-sed and it will tell you what to add to your PATH to be able to use it as "sed"

thank you!

@sumanthsetty78
Copy link

As others have pointed out, --with-default-names has been deprecated Homebrew/brew#5731.

Just install gnu-sed without the --with-default-names option. Then run brew info gnu-sed and it will tell you what to add to your PATH to be able to use it as "sed"

brew info gnu-sed (snippet)
==> Caveats
GNU "sed" has been installed as "gsed".
If you need to use it as "sed", you can add a "gnubin" directory
to your PATH from your bashrc like:

    PATH="/usr/local/opt/gnu-sed/libexec/gnubin:$PATH"

THANK YOU!!

@divStar
Copy link

divStar commented Oct 30, 2023

For zsh, after installing gnu-sed using brew install gnu-sed, I just added this at the end of the ~/.zshrc:

export PATH="/opt/homebrew/opt/gnu-sed/libexec/gnubin:$PATH"

You path may vary and you can acquire it using brew info gnu-sed (as mentioned above). The key is to add it late in the ~/.zshrc. Also note, that if you are using a different shell, you will want to change the path variable in the corresponding configuration file.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment