Tengo coreutils pero no estoy seguro si GNU grep está ahí. Solo quiero usar el indicador -P para la expresión regular de Perl que se encuentra en GNU grep, pero no en BSD grep.

Mi PATH 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/bin así que primero tengo coreutils en PATH.

Sin embargo, grep es BSD cuando lo estoy usando: grep --version da grep (BSD grep) 2.5.1-FreeBSD.

El comando type -p grep devuelve /usr/bin/grep

¿Cómo se puede instalar GNU Grep en macOS?

Respuesta

GNU grep no es parte de coreutils. Para instalar, ejecute

brew install grep 

Al igual que con coreutils, esto no «reemplaza automáticamente el grep existente

==> Caveats All commands have been installed with the prefix "g". If you need to use these commands with their normal names, you can add a "gnubin" directory to your PATH from your bashrc like: PATH="/usr/local/opt/grep/libexec/gnubin:$PATH" 

Entonces, después de la instalación, puede usar ggrep, gegrep y gfgrep ; o extender PATH como se muestra arriba para usar grep etc. La segunda opción puede confundir algunos scripts específicos de macOS, aunque en caso de que las opciones difieran.

Respuesta

La respuesta de nohillside necesita actualizarse de la siguiente manera:

Si grep ya estaba instalado por brew , elimine grep primero.

% brew uninstall grep 

Luego instale grep:

% brew install grep All commands have been installed with the prefix "g". If you need to use these commands with their normal names, you can add a "gnubin" directory to your PATH from your bashrc like: PATH="/usr/local/opt/grep/libexec/gnubin:$PATH" =º /usr/local/Cellar/grep/3.3: 21 files, 880.7KB 

Tenga en cuenta que necesito modificar la RUTA. Por ejemplo, agregue a su .bashrc:

export PATH="/usr/local/opt/grep/libexec/gnubin:$PATH" 

Tuve que hacer lo anterior en mi Mac cuando después de brew upgrade ya no se podía acceder a mi grep (se instaló anteriormente con brew install grep --with-default-names, y esta opción ya no está disponible).

Esta solución funciona a partir de Homebrew 2.1.1:

brew --version Homebrew 2.1.1 Homebrew/homebrew-core (git revision 5afdd; last commit 2019-04-22) Homebrew/homebrew-cask (git revision a5a206; last commit 2019-04-22) 

Esta respuesta se basa en la de nohillside, con comentarios de Jonathan Komar y scott m gardner.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *