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.