Jag har coreutils men jag är inte säker på om GNU grep finns där. Jag vill bara använda flaggan -P för Perl regex som finns i GNU grep, men inte i BSD grep.

Min PATH är /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å jag har coreutils först i PATH.

Grep är dock BSD när jag använder det: grep --version ger grep (BSD grep) 2.5.1-FreeBSD.

Kommando type -p grep returnerar /usr/bin/grep

Hur kan du installera GNU Grep i macOS?

Svar

GNU grep ingår inte i coreutils. För att installera, kör

brew install grep 

Som med coreutils ersätter detta inte automatiskt den befintliga 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å efter installationen kan du antingen använda ggrep, gegrep och gfgrep ; eller förläng PATH som visas ovan för att använda grep etc. Det andra alternativet kan förvirra vissa macOS-specifika skript men om alternativen skiljer sig åt.

Svar

Svaret från nohillside behöver uppdateras enligt följande:

Om grep redan var installerat av brygga , ta bort grep först.

% brew uninstall grep 

Installera sedan 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 

Observera att du behöver du ändra PATH. Till exempel, lägg till din .bashrc:

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

Jag var tvungen att göra ovan på min mac när efter brew upgrade min grep var inte längre tillgänglig (den installerades tidigare med brew install grep --with-default-names, och det här alternativet är inte tillgängligt längre).

Den här lösningen fungerar från 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) 

Detta svar är baserat på svaret från nohillside, med kommentarer från Jonathan Komar och scott m gardner.

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *