4 Stimmen

Aktualisierung von grep für Mac OS 10.7

Ich möchte grep auf meinem Mac auf eine neuere Version als 2.5.1 aktualisieren, die mit Mac OS 10.7.2 geliefert wurde. Meine Frage ist: Was ist der beste Weg, um grep (oder ein ähnliches Programm) für den Mac zu aktualisieren? Ich könnte Fink oder MacPorts verwenden, um eine neue Version zu installieren und meine Pfadvariable so festzulegen, dass sie im entsprechenden Zweig des Dateibaums nachschaut, oder ich könnte das grep-Programm in usr/bin aktualisieren, oder vielleicht gibt es einen anderen Ansatz, den ich nicht in Betracht gezogen habe. Da ich relativ neu im Umgang mit der Befehlszeile und dem Unix-Backend des Mac bin, mache ich mir Sorgen, etwas zu zerstören. Dennoch wäre ich bereit, die neueste stabile Version von grep aus den Quellen zu kompilieren und in /usr/bin zu installieren, wenn das die geeignete Methode ist. Falls sich jemand fragt, warum ich grep von 2.5.1 aktualisieren möchte, habe ich zwei Gründe: Erstens lerne ich, grep mit einem Referenzbuch zu verwenden, das auf 2.5.3 basiert (wahrscheinlich ähnlich, weiß ich); zweitens und wichtiger möchte ich lernen, wie man solche Programme einfach aktualisiert, um mein eigenes System effektiv zu verwalten.

6voto

Macmade Punkte 50817

Wie du gesagt hast, kannst du Fink, MacPorts, etc. verwenden...

Aber wenn du nur grep aktualisieren möchtest, könntest du die Quellen herunterladen und sie kompilieren.

Wenn du dich für diese Option entscheidest, installiere sie nicht in /usr/bin.

Wenn du das tust, überschreibst du etwas, das dein Betriebssystem benötigt.
Mit einer anderen Version könntest du also Probleme haben, da das Betriebssystem eine andere Version erwartet.

Außerdem könntest du Probleme haben, wenn du dein Betriebssystem aktualisierst, da es deine eigene Version überschreiben könnte.

Also, wenn du es kompilieren möchtest, platziere es in /usr/local/bin (normalerweise mit der --prefix Option) und aktualisiere deine Pfadumgebungsvariable.
Das ist der sichere Weg.

Normalerweise ist das Kompilieren eines solchen Programms einfach nur der Standard ./configure, make und sudo make install Kram.
Aber schau dir zuerst die Kompilierungsoptionen an, indem du Folgendes eingibst:

./configure --help

6voto

PhysicalChemist Punkte 514

Die folgende Lösung stammt von http://www.heystephenwood.com/2013/09/install-gnu-grep-on-mac-osx.html

# Aktiviere dupliziere und installiere
brew tap homebrew/dupes
brew install homebrew/dupes/grep
# Installiere die perl-kompatible reguläre Ausdrucksbibliothek

brew install pcre

# Füge den Symlink an einem Ort in $PATH hinzu
ln -s /usr/local/Cellar/grep/2.14/bin/ggrep /usr/bin/ggrep
# Füge ein Alias hinzu
alias grep="ggrep"

# Überprüfe, ob du es hast!
$ grep --version

grep (GNU grep) 2.14
Copyright (C) 2012 Free Software Foundation, Inc.
Lizenz GPLv3+: GNU GPL version 3 oder neuer .
Dies ist freie Software: Du kannst sie ändern und weiterverbreiten.
Es gibt KEINE Gewährleistung, soweit gesetzlich zulässig.

Geschrieben von Mike Haertel und anderen, siehe .
# Wenn du möchtest, dass es dauerhaft ist, kannst du die Alias-Zeile zu deinem ~/.bash_profile hinzufügen
# Du möchtest wahrscheinlich, dass das Alias auch nach Neustarts bestehen bleibt
echo 'alias grep="ggrep"' >> ~/.bash_profile

5voto

phyatt Punkte 17614

Es ist in letzter Zeit einfacher geworden:

brew install grep

Was dazu führt, dass Zeilen wie die folgenden erscheinen:

==> Abhängigkeiten für grep installieren: pcre
==> Installiere grep-Abhängigkeit: pcre
==> Lade https://homebrew.bintray.com/bottles/pcre-8.43.high_sierra.bottle.tar.gz herunter
######################################################################## 100.0%
==> Gieße pcre-8.43.high_sierra.bottle.tar.gz ein
  /usr/local/Cellar/pcre/8.43: 204 Dateien, 5.5MB
==> Installiere grep
==> Lade https://homebrew.bintray.com/bottles/grep-3.3.high_sierra.bottle.2.tar.gz herunter
######################################################################## 100.0%
==> Gieße grep-3.3.high_sierra.bottle.2.tar.gz ein
==> Hinweise
Alle Befehle wurden mit dem Präfix "g" installiert.
Wenn Sie diese Befehle mit ihren normalen Namen verwenden möchten, können Sie ein "gnubin"-Verzeichnis zu Ihrem PATH aus Ihrer bashrc hinzufügen, z.B.:
  PATH="/usr/local/opt/grep/libexec/gnubin:$PATH"
==> Zusammenfassung
  /usr/local/Cellar/grep/3.3: 21 Dateien, 880.7KB
==> Hinweise
==> grep
Alle Befehle wurden mit dem Präfix "g" installiert.
Wenn Sie diese Befehle mit ihren normalen Namen verwenden möchten, können Sie ein "gnubin"-Verzeichnis zu Ihrem PATH aus Ihrer bashrc hinzufügen, z.B.:
  PATH="/usr/local/opt/grep/libexec/gnubin:$PATH"

Dann würden Sie Folgendes verwenden:

ggrep --color=auto

Überall dort, wo Sie zuvor grep ausgeführt hätten.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X