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.