Обновление grep для Mac OS 10.7 - PullRequest
       7

Обновление grep для Mac OS 10.7

4 голосов
/ 02 декабря 2011

Я хотел бы обновить grep на моем Mac до более новой версии, чем 2.5.1, которая поставлялась с Mac OS 10.7.2. Мой вопрос: каков наилучший способ обновления grep (или любой подобной программы) для Mac? Я мог бы использовать Fink или MacPorts, чтобы установить новую версию и установить переменную path для просмотра соответствующей ветви дерева файлов, или я мог бы обновить программу grep в usr / bin, или, возможно, есть другой подход, который я не рассматривал , Поскольку я относительно новичок в командной строке и бэкэнде Mac для Unix, я беспокоюсь о том, чтобы что-то сломать. Тем не менее, я бы с готовностью скомпилировал самый последний стабильный выпуск grep из исходного кода и установил его в / usr / bin, если это подходящий метод. Если кому-то интересно, почему я хочу обновить grep с 2.5.1, у меня есть две причины: во-первых, я учусь использовать grep со справочником, основанным на 2.5.3 (вероятно, похожим, я знаю); Во-вторых, и что еще важнее, я хочу научиться обновлять такие программы просто для эффективного администрирования собственной системы.

Ответы [ 3 ]

5 голосов
/ 26 сентября 2014

Ниже приведено очень элегантное решение от http://www.heystephenwood.com/2013/09/install-gnu-grep-on-mac-osx.html

# Enable dupe and install
brew tap homebrew/dupes
brew install homebrew/dupes/grep
# Install the perl compatible regular expression library

brew install pcre

# Add the symlink to a place in $PATH
ln -s /usr/local/Cellar/grep/2.14/bin/ggrep /usr/bin/ggrep
# Add an alias
alias grep="ggrep"

# Verify you got it!
$ grep --version

grep (GNU grep) 2.14
Copyright (C) 2012 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by Mike Haertel and others, see <http://git.sv.gnu.org/cgit/grep.git/tree/AUTHORS>.
# If you want it to be permanent, you can add the alias line to your ~/.bash_profile
# You probably want the alias to stick after reboots
echo 'alias grep="ggrep"' >> ~/.bash_profile
5 голосов
/ 02 декабря 2011

Как вы сказали, вы можете использовать Fink, MacPorts и т.д ...

Но если вы просто хотите обновить grep, вы можете получить исходные коды и скомпилировать их.

Если вы решите воспользоваться этой опцией, не устанавливайте ее в /usr/bin.

Если вы это сделаете, вы перезапишете что-то, что нужно вашей ОС.
Так что с другой версией вы можете столкнуться с проблемами, как и ОС, за исключением другой версии.

А также, если вы это сделаете, у вас будут проблемы при обновлении вашей ОС, так как это может перезаписать вашу собственную версию.

Так что, если вы хотите скомпилировать его, поместите его в /usr/local/bin (обычно с опцией --prefix) и обновите переменную среды вашего пути.
Это безопасный способ.

Обычно компиляция такой программы - это просто стандартные вещи ./configure, make и sudo make install.
Но не забудьте сначала взглянуть на параметры компиляции, набрав:

./configure --help
0 голосов
/ 05 марта 2019

В последнее время стало легче:

brew install grep

Что приводит к появлению таких строк:

==> Installing dependencies for grep: pcre
==> Installing grep dependency: pcre
==> Downloading https://homebrew.bintray.com/bottles/pcre-8.43.high_sierra.bottle.tar.gz
######################################################################## 100.0%
==> Pouring pcre-8.43.high_sierra.bottle.tar.gz
?  /usr/local/Cellar/pcre/8.43: 204 files, 5.5MB
==> Installing grep
==> Downloading https://homebrew.bintray.com/bottles/grep-3.3.high_sierra.bottle.2.tar.gz
######################################################################## 100.0%
==> Pouring grep-3.3.high_sierra.bottle.2.tar.gz
==> 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"
==> Summary
?  /usr/local/Cellar/grep/3.3: 21 files, 880.7KB
==> Caveats
==> 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"

Тогда вы будете использовать:

ggrep --color=auto

Где угодновыполнил бы grep раньше.

...