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.