Minulla on coreutils, mutta en ole varma, onko GNU grep siellä. Haluan vain käyttää lippua -P Perlin regexille, joka löytyy GNU grepistä, mutta ei BSD grepistä.

Minun polkuni on /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, joten minulla on ensin coreutils polussa.

Grep on kuitenkin BSD, kun käytän sitä: grep --version antaa grep (BSD grep) 2.5.1-FreeBSD.

Komento type -p grep palauttaa /usr/bin/grep

Kuinka GNU Grep voidaan asentaa macOSiin?

Vastaus

GNU grep ei ole osa coreutilsia. Asenna suorittamalla

brew install grep 

Kuten coreutils, tämä ei korvaa automaattisesti olemassa olevaa 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" 

Joten asennuksen jälkeen voit käyttää joko ggrep, gegrep ja gfgrep ; tai laajenna PATH yllä esitetyllä tavalla käyttämään grep jne. Toinen vaihtoehto voi sekoittaa joitain macOS-spesifisiä komentosarjoja, jos vaihtoehdot poikkeavat toisistaan.

vastaus

nohillside-vastaus on päivitettävä seuraavasti:

Jos brew on jo asentanut grepin , poista ensin grep.

% brew uninstall grep 

Asenna sitten 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 

Huomaa, että sinun täytyy muokata polkua. Lisää esimerkiksi .bashrc-tiedostoon:

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

Minun oli tehtävä yllä olevat tiedot Mac-tietokoneellani, kun brew upgrade grepini ei enää ollut käytettävissä (se asennettiin aiemmin nimellä brew install grep --with-default-names, eikä tämä vaihtoehto ole enää käytettävissä).

Tämä ratkaisu toimii Homebrew 2.1.1: stä lähtien:

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) 

Tämä vastaus perustuu nohillside-vastaukseen, jossa on kommentteja Jonathan Komarilta ja Scott m Gardnerilta.

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *