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.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *