OSX में GNU Grep को कैसे इनस्टॉल और उपयोग करें


50

मेरे पास कोरूटिल्स हैं लेकिन मुझे यकीन नहीं है कि जीएनयू जीआरपी है। मैं बस -Pपर्ल रेगेक्स के लिए ध्वज का उपयोग करना चाहता हूं जो कि जीएनयू जीआरपीपी में पाया जाता है, लेकिन बीएसडी जीआरईपी में नहीं।

मेरा पेटीएम है /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इसलिए मेरे पास सबसे पहले पैठ में कोरुटिल्स हैं।

हालांकि, grep बीएसडी है जब मैं इसका उपयोग कर रहा हूं: grep --versionदेता है grep (BSD grep) 2.5.1-FreeBSD।

आज्ञा type -p grepदेता है/usr/bin/grep

आप OSX में GNU Grep कैसे स्थापित कर सकते हैं?

जवाबों:


72

GNU grep कोरयूटिल्स का हिस्सा नहीं है। स्थापित करने के लिए, भागो

brew install grep

Coreutils के साथ, यह स्वचालित रूप से मौजूदा grep को प्रतिस्थापित नहीं करता है

==> Caveats
The command has been installed with the prefix "g".
If you do not want the prefix, install using the "with-default-names" option.

2
जब मैं यह कर मेरी grepअभी भी freeBSD है, लेकिन egrepऔर fgrepजीएनयू हैं। मैं grepजीएनयू को डिफ़ॉल्ट कैसे सेट कर सकता हूं ? (मैंने उपयोग किया --with-default-names)
— रसदार

3
@ रसीली क्या आपने एक नए खोल में यह कोशिश की?
— nohillside

3
संदर्भ के लिए, GNU grep कमांड का नाम हैggrep
— विल शेपर्ड

2
चलाएं brew uninstall grep(या brew remove grep) यदि पहले से स्थापित है और कमांड लाइन पर brew install grep --with-default-namesजीएनयू grepपूर्वता दे । के साथ परीक्षण Homebrew 1.5.4 Homebrew/homebrew-core (git revision 3bb326; last commit 2018-02-22)एक नया खोल खोलने या चलाने के लिए hash -rया export PATH=$PATHद्विआधारी अनुप्रयोगों के पथ को फिर से लोड करने के लिए मत भूलना (यानी आपका नया जीएनयू gpp)।
— जोनाथन कोमर

3
@JonathanKomar दुर्भाग्य से Homebrew संस्करण 2.0.0 में - डिफ़ॉल्ट-नाम ध्वज अब उपलब्ध नहीं है।
— Dez

5

जैसा कि टिप्पणी से संकेत मिलता है, उच्चतम रेटेड उत्तर (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 के सुलभ नहीं होने के बाद (यह पहले से स्थापित था brew install grep --with-default-names, और यह विकल्प उपलब्ध नहीं है)।

यह समाधान 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)

यह जवाब जोहानिसाइड से एक पर आधारित है, जोनाथन कोमार और स्कॉट एम गार्डनर की टिप्पणियों के साथ।


यह स्वीकृत उत्तर से बेहतर है।
— दोपहर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.