J'ai coreutils mais je ne suis pas sûr que GNU grep soit présent. Je veux juste utiliser le drapeau -P
pour l'expression rationnelle Perl qui se trouve dans GNU grep, mais pas dans BSD grep.
Mon chemin 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 j'ai coreutils d'abord dans le chemin.
Cependant, grep est BSD quand je l’utilise: grep --version
donne grep (BSD grep) 2.5.1-FreeBSD
.
type -p grep
Retourne commande/usr/bin/grep
Comment pouvez-vous installer GNU Grep sous OSX?
grep
est encore celui freeBSD, maisegrep
etfgrep
sont GNU. Comment puis-je définir la valeur par défautgrep
sur GNU? (J'ai utilisé--with-default-names
)ggrep
brew uninstall grep
(oubrew remove grep
) s'il est déjà installé etbrew install grep --with-default-names
donnez lagrep
priorité à GNU sur la ligne de commande. Testé avecHomebrew 1.5.4 Homebrew/homebrew-core (git revision 3bb326; last commit 2018-02-22)
N'oubliez pas d'ouvrir un nouveau shell, d'exécuterhash -r
ouexport PATH=$PATH
de recharger les chemins d'accès aux applications binaires (c'est-à-dire votre nouveau GNU grep).Comme l'indiquent les commentaires, la réponse la mieux notée (de nohillside) doit être mise à jour comme suit:
Si grep a déjà été installé par brew, commencez par supprimer grep.
Puis installez grep:
Notez que vous devez modifier le PATH. Par exemple, ajoutez à votre .bashrc:
Je devais faire ce qui précède sur mon mac quand, une fois que
brew upgrade
mon grep n’était plus accessible (il avait déjà été installé avecbrew install grep --with-default-names
, et cette option n’est plus disponible).Cette solution fonctionne à partir de Homebrew 2.1.1:
Cette réponse est basée sur celle de nohillside, avec les commentaires de Jonathan Komar et Scott M Gardner.
la source