Jai des coreutils mais je ne suis pas sûr que GNU grep soit là. Je veux juste utiliser le drapeau -P
pour Perl regex qui se trouve dans GNU grep, mais pas dans BSD grep.
Mon PATH est /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
donc jai des coreutils en premier dans le PATH.
Cependant, grep est BSD lorsque je lutilise: grep --version
donne grep (BSD grep) 2.5.1-FreeBSD
.
La commande type -p grep
renvoie /usr/bin/grep
Comment installer GNU Grep sous macOS?
Réponse
GNU grep ne fait pas partie de coreutils. Pour installer, exécutez
brew install grep
Comme pour coreutils, cela ne remplace pas automatiquement le grep existant
==> 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"
Ainsi, après linstallation, vous pouvez soit utiliser ggrep
, gegrep
et gfgrep
; ou étendez PATH
comme indiqué ci-dessus pour utiliser grep
etc. La deuxième option peut confondre certains scripts spécifiques à macOS au cas où les options diffèrent.
Réponse
La réponse de nohillside doit être mise à jour comme suit:
Si grep a déjà été installé par brew , supprimez dabord grep.
% brew uninstall grep
Ensuite, installez 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
Notez que vous devez modifier le PATH. Par exemple, ajoutez à votre .bashrc:
export PATH="/usr/local/opt/grep/libexec/gnubin:$PATH"
Jai dû faire ce qui précède sur mon mac après brew upgrade
mon grep nétait plus accessible (il a été installé précédemment avec brew install grep --with-default-names
, et cette option nest plus disponible).
Cette solution fonctionne depuis 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)
Cette réponse est basée sur celle de nohillside, avec les commentaires de Jonathan Komar et Scott m Gardner.