Tengo coreutils pero no estoy seguro de si GNU grep está allí. Solo quiero usar la bandera -Ppara Perl regex que se encuentra en GNU grep, pero no en BSD grep.
Mi RUTA es /usr/local/opt/coreutils/libexec/gnubin:/usr/local/bin:/usr/bin:/opt/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/usr/local/git/bin:/usr/texbin:/Users/masi/.cabal/binpor lo que tengo coreutils primero en la RUTA.
Sin embargo, grep es BSD cuando lo estoy usando: grep --versionda grep (BSD grep) 2.5.1-FreeBSD.
Comando type -p grepregresa/usr/bin/grep
¿Cómo se puede instalar GNU Grep en OSX?

grepsigue siendo el FreeBSD, peroegrepyfgrepson GNU. ¿Cómo puedo establecer el valor predeterminadogrepen GNU? (Utilicé--with-default-names)ggrepbrew uninstall grep(obrew remove grep) si ya está instalado ybrew install grep --with-default-namespara dargrepprioridad a GNU en la línea de comando. Probado conHomebrew 1.5.4 Homebrew/homebrew-core (git revision 3bb326; last commit 2018-02-22)No olvide abrir un nuevo shell o ejecutarhash -roexport PATH=$PATHvolver a cargar las rutas a las aplicaciones binarias (es decir, su nuevo GNU grep).Como indican los comentarios, la respuesta mejor calificada (de nohillside) necesita actualizarse de la siguiente manera:
Si grep ya estaba instalado por brew, elimine grep primero.
Luego instale grep:
Tenga en cuenta que necesita modificar la RUTA. Por ejemplo, agregue a su .bashrc:
Tuve que hacer lo anterior en mi Mac cuando después de que
brew upgrademi grep ya no fuera accesible (se instaló previamente conbrew install grep --with-default-names, y esta opción ya no está disponible).Esta solución funciona a partir de Homebrew 2.1.1:
Esta respuesta se basa en la de nohillside, con comentarios de Jonathan Komar y scott m gardner.
fuente