Jeg har coreutils, men jeg er ikke sikker på om GNU grep er der. Jeg vil bare bruke flagget -P
for Perl regex som finnes i GNU grep, men ikke i BSD grep.
Min PATH er /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
så jeg har coreutils først i PATH.
Grep er imidlertid BSD når jeg bruker det: grep --version
gir grep (BSD grep) 2.5.1-FreeBSD
.
Kommando type -p grep
returnerer /usr/bin/grep
Hvordan kan du installere GNU Grep i macOS?
Svar
GNU grep er ikke en del av coreutils. For å installere, kjør
brew install grep
Som med coreutils, erstatter dette ikke automatisk den eksisterende grep
==> 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"
Så etter installasjonen kan du enten bruke ggrep
, gegrep
og gfgrep
; eller utvid PATH
som vist ovenfor for å bruke grep
osv. Det andre alternativet kan forvirre noen macOS-spesifikke skript, men i tilfelle alternativene er forskjellige.
Svar
Svaret fra nohillside må oppdateres som følger:
Hvis grep allerede var installert av brygge , fjern grep først.
% brew uninstall grep
Deretter installerer du 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
Merk at du trenger å endre PATH. For eksempel, legg til .bashrc:
export PATH="/usr/local/opt/grep/libexec/gnubin:$PATH"
Jeg måtte gjøre det ovennevnte på min mac når etter brew upgrade
min grep var ikke lenger tilgjengelig (den ble installert tidligere med brew install grep --with-default-names
, og dette alternativet er ikke tilgjengelig lenger).
Denne løsningen fungerer fra 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)
Dette svaret er basert på svaret fra nohillside, med kommentarer fra Jonathan Komar og scott m gardner.