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.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *