उबंटू में 'grep' की तरह काम कैसे करें?


25

मैंने grepटर्मिनल पर एक पैटर्न से मिलान करने के लिए उपयोग करने की कोशिश की , लेकिन कोई भी परिणाम निकलता है।

$ grep -R 'networks'
grep: warning: recursive search of stdin

मुझे पता था कि grepmacOS बीएसडी पर आधारित है जबकि grepउबंटू जीएनयू पर आधारित है।

कैसे Ubuntu में macOS पर 'grep' काम करने के लिए?

जवाबों:


34

जब -Rविकल्प का उपयोग किया जाता है, तो MacOS grepको आपको खोज के लिए स्पष्ट रूप से एक निर्देशिका देने की आवश्यकता होती है; उदाहरण के लिए, .वर्तमान निर्देशिका को पुन: खोज करने के लिए निर्दिष्ट करें :

grep -R 'networks' .

9

दीर्घकालिक, संभवतः GNU पर आधारित टूल को स्थापित करना या उबंटू को वास्तव में चलाना सबसे अच्छा है। दोनों मुफ्त में उपलब्ध हैं।

brew install coreutils( brewकमांड को चलाने के लिए आपको https://brew.sh से होमब्रे स्थापित करने की आवश्यकता है ) आपके रास्ते में टूल्स के GNU संस्करणों को डाल देगा। के लिए देखो ggrepआदेश और संभवतः एक स्टैंडअलोन grepपैकेज के रूप में स्थापित करने के लिए coreutils समय यह क्या शामिल है के साथ बदल जाते हैं करता है।

(संपादित करें: ध्यान दें कि २०१ that तक , grepविशेषcoreutils रूप से निम्नानुसार अलग से स्थापित करने की आवश्यकता है:

$ brew install grep
$ ggrep sometext file.txt     # Note the executable is called ggrep with two G's

और ggrepदो G के साथ एक अद्वितीय निष्पादन योग्य नाम है ।)

जीएनयू या कोरुटिल्स के लिए यहां खोज भी संदर्भ और टिप्स / ट्रिक्स के लिए सहायक होगी।


2
ध्यान दें कि कम से कम अब पैकेज में grepशामिल नहीं है coreutils, brewलेकिन अपने स्वयं के पैकेज में बुलायाgrep
fejese

2
यह भी ध्यान दें कि निष्पादन योग्य ggrep(प्रमुख जी) अब कहा जाता है ।
डॉटंचोहेन

1
धन्यवाद @dotancohen - यदि आप स्थिति के बारे में निश्चित हैं तो बस एक उत्तर को संपादित करने के लिए स्वतंत्र महसूस करें। संशोधन इतिहास है और हम हमेशा चैट कर सकते हैं यदि एक व्यक्ति के लिए कोई बदलाव अस्पष्ट है या उसे आगे की समीक्षा / समायोजन की आवश्यकता है। टिप्पणी के लिए +1 - धन्यवाद फिर से
bmike
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.