2014-07-02 7 views
16

के माध्यम से पूरी लाइन नहीं, मैं बैश में खोल प्रोग्रामिंग से परिचित हूं, लेकिन कुछ कारणों से egrep -o केवल मिलान करने वाले शब्दों को मुद्रित करने के लिए काम नहीं कर रहा है और नीचे त्रुटि प्रदर्शित करता है।केवल मिलान शब्द मुद्रित करें, grep

पर्यावरण पट्टी पर ksh यूनिक्स कंसोल है और लिनक्स या उबंटू टर्मिनल नहीं है ...... किसी भी सलाह की सराहना की जाती है!

टर्मिनल इनपुट & उत्पादन:

AB12 $ echo "i am a boy" | grep -w "am" 
i am a boy 
AB12 $ echo "i am a boy" | egrep -o "am" 
egrep: illegal option -- o 
usage: egrep [ -bchilnsv ] [ -e exp ] [ -f file ] [ strings ] [ file ] ... 
AB12 $ echo$ 
ksh: echo$: not found 
AB12 $ echo $SHELL 
/bin/ksh 
AB12 $ echo "i am a boy" | grep -o "am" 
grep: illegal option -- o 
Usage: grep -hblcnsviw pattern file . . . 
AB12 $ 

पुनश्च: इसी प्रकार के धागे लेकिन पहले से ही करने की कोशिश की: Can grep show only words that match search pattern?

+0

आप कॉपी करना चाहिए/पेस्ट कोड/टर्मिनल उत्पादन, एक स्क्रीनशॉट पोस्ट करने के बजाय। आपका स्क्रीनशॉट पढ़ना मुश्किल है, आप इसे कॉपी/पेस्ट नहीं कर सकते हैं, और इसे संपादित नहीं कर सकते (इसे आवश्यक होना चाहिए)। – Carpetsmoker

+0

ऐसा लगता है कि आप जीएनयू grep का उपयोग नहीं कर रहे हैं; आप किस ओएस का उपयोग कर रहे हैं? क्या 'grep -V' या' grep --version' संस्करण के बारे में कुछ भी कहता है? – Carpetsmoker

+0

पोस्ट स्क्रीन शॉट ठीक से दिखाई नहीं दे रहा है। इसके अलावा 5 के प्रतिनिधि लोगों को अच्छी तरह से प्रश्न पोस्ट करना चाहिए। –

उत्तर

11

मैं इस एक सोलारिस है संभालने हूँ बॉक्स आप कनेक्ट कर रहे। grep के सोलारिस संस्करण में -o विकल्प नहीं है। तो आप या तो

  • जीएनयू ग्रेप अपने सोलारिस बॉक्स पर (यह पहले से ही /usr/sfw/bin में स्थापित किया जा सकता है, या आप pkg install //solaris/text/gnu-grep साथ भाग्य हो सकता है) स्थापित कर सकते हैं; या
  • उपयोग awk बजाय (this SO question देख)

मेरी बॉक्स पर देखें:

$ uname 
SunOS 
$ echo "i am a boy" | grep -o "am" 
grep: illegal option -- o 
Usage: grep -hblcnsviw pattern file . . . 
$ echo "i am a boy" | /usr/sfw/bin/ggrep -o "am" 
am 
+0

* सौरलिस बॉक्स * की पहचान करने के किसी भी तरीके से? – NoobEditor

+1

शायद 'uname -a' आज़माएं? –

+1

uname -a – damienfrancois

5

आप perl है:

echo "I am a boy" | perl -lne '/am/ && print $&' 
am 
संबंधित मुद्दे