Jeg har coreutils, men jeg er ikke sikker på, om GNU grep er der. Jeg vil bare bruge flag -P
til Perl regex, der findes 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 dog BSD, når jeg bruger det: grep --version
giver 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 af coreutils. For at installere skal du køre
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å efter installationen kan du enten bruge ggrep
, gegrep
og gfgrep
; eller udvid PATH
som vist ovenfor for at bruge grep
osv. Den anden mulighed kan forveksle nogle macOS-specifikke scripts, men hvis indstillingerne er forskellige.
Svar
Svaret fra nohillside skal opdateres som følger:
Hvis grep allerede var installeret af bryg , fjern først grep.
% brew uninstall grep
Installer derefter 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
Bemærk, at du skal du ændre PATH. Føj f.eks. til din .bashrc:
export PATH="/usr/local/opt/grep/libexec/gnubin:$PATH"
Jeg var nødt til at gøre ovenstående på min mac, når jeg var brew upgrade
min grep var ikke længere tilgængelig (den blev tidligere installeret med brew install grep --with-default-names
, og denne indstilling er ikke tilgængelig mere).
Denne løsning 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 svar er baseret på svaret fra nohillside med kommentarer fra Jonathan Komar og scott m gardner.