Am coreutils, dar nu sunt sigur dacă GNU grep este acolo. Vreau doar să folosesc steagul -P pentru regexul Perl care se găsește în GNU grep, dar nu în BSD grep.

PATH-ul meu este /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 deci am coreutils mai întâi în PATH.

Cu toate acestea, grep este BSD când îl folosesc: grep --version oferă grep (BSD grep) 2.5.1-FreeBSD.

Comanda type -p grep returnează /usr/bin/grep

Cum puteți instala GNU Grep în macOS?

Răspuns

GNU grep nu face parte din coreutils. Pentru instalare, rulați

brew install grep 

La fel ca în cazul coreutils, acest lucru nu înlocuiește automat grep-ul existent

==> 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" 

Deci, după instalare, puteți utiliza ggrep, gegrep și gfgrep ; sau extindeți PATH așa cum se arată mai sus pentru a utiliza grep etc. A doua opțiune poate confunda unele scripturi specifice macOS, deși în cazul în care opțiunile diferă.

Răspuns

Răspunsul de la nohillside trebuie actualizat după cum urmează:

Dacă grep a fost deja instalat de brew , eliminați grep mai întâi.

% brew uninstall grep 

Apoi instalați 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 

Rețineți că trebuie să modific PATH-ul. De exemplu, adăugați la .bashrc:

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

A trebuit să fac cele de mai sus pe mac-ul meu după brew upgrade grep-ul meu nu mai era accesibil (a fost instalat anterior cu brew install grep --with-default-names, iar această opțiune nu mai este disponibilă).

Această soluție funcționează începând cu 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) 

Acest răspuns se bazează pe cel de la nohillside, cu comentarii de la Jonathan Komar și Scott M Gardner.

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *