Vannak coreutileim, de nem vagyok biztos benne, hogy a GNU grep van-e benne. Csak a -P zászlót szeretném használni a Perl regexhez, amely megtalálható a GNU grep-ben, de a BSD grep-ben nem.

Az én PATH-em /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, tehát a PATH-ban először a coreutils van.

A grep azonban BSD, amikor használom: grep --version ad grep (BSD grep) 2.5.1-FreeBSD.

A type -p grep parancs /usr/bin/grep

Hogyan telepítheti a GNU Grep-et a macOS-ba?

Válasz

A GNU grep nem része a coreutils-nak. A telepítéshez futtassa

brew install grep 

A coreutils-hoz hasonlóan ez sem automatikusan helyettesíti a meglévő 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" 

A telepítés után tehát használhatja az ggrep, a gegrep és a gfgrep ; vagy bontsa ki a PATH -t a fentiek szerint az grep stb. használatához. A második opció megzavarhatja egyes macOS-specifikus parancsfájlokat, ha az opciók eltérnek.

Válasz

A nohillside válaszát a következőképpen kell frissíteni:

Ha a grep-et már a brew telepítette , először távolítsa el a grep-et.

% brew uninstall grep 

Ezután telepítse a grep-t:

% 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 

Ne feledje, hogy módosítania kell a PATH-t. Például vegye fel a .bashrc fájlba:

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

A fentieket meg kellett tennem a mac-on, amikor brew upgrade a grep-m már nem volt elérhető (korábban , és ez az opció már nem érhető el).

Ez a megoldás a Homebrew 2.1.1-től kezdve működik:

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) 

Ez a válasz a nohillside válaszán alapul, Jonathan Komar és Scott m gardner megjegyzéseivel.

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük