coreutilsがありますが、GNUGrepが存在するかどうかわかりません。 GNUgrepにはあるがBSDgrepにはないPerl正規表現にフラグ-Pを使用したいだけです。

私のPATHは/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なので、PATHの最初にcoreutilsがあります。

ただし、grepを使用している場合はBSDです:grep --versiongrep (BSD grep) 2.5.1-FreeBSDを提供します。

コマンドtype -p grep/usr/bin/grep

を返します

macOSにGNUGrepをインストールするにはどうすればよいですか?

回答

GNUgrepはcoreutilsの一部ではありません。インストールするには、

brew install grep 

coreutilsと同様に、これによって既存の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" 

したがって、インストール後は、ggrepgegrep、およびgfgrepのいずれかを使用できます。 ;または、上記のようにPATHを拡張してgrepなどを使用します。2番目のオプションは、オプションが異なる場合でも、一部のmacOS固有のスクリプトを混乱させる可能性があります。

回答

nohillsideからの回答は次のように更新する必要があります。

grepがすでにbrewによってインストールされている場合、最初にgrepを削除します。

% brew uninstall grep 

次に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 

注意してくださいPATHを変更する必要があります。たとえば、.bashrcに追加します。

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

brew upgrade grepにアクセスできなくなりました(以前は、このオプションは使用できなくなりました。

このソリューションは、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) 

この回答は、nohillsideの回答に基づいており、JonathanKomarとscottmgardnerからのコメントがあります。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です