मैं शायद पहले से ही दिए गए विकल्पों में से एक का उपयोग करूंगा @slhck लेकिन यहाँ ऐसा करने के कुछ और तरीके दिए गए हैं:
सरणियों का उपयोग करना, जैसा कि आप किसी अन्य भाषा में करेंगे:
$ foo=( $(SayStuff) )
$ echo ${foo[2]}
cucumbers
var=()एक सरणी वाणी, $(command)आदेश के उत्पादन में बचत होती है। इसलिए, सरणी और युओ foo=( $(SayStuff) )के उत्पादन को संग्रहीत करता है और फिर इसके साथ तीसरा तत्व है ।SayStufffooecho${foo[2]}
sed
$ SayStuff | sed 's/.* \(.*\)/\1/'
cucumbers
sedआदेश विकल्प होगा ( s///पिछले शब्द के साथ) सब कुछ। रेगेक्स एक स्पेस ( .*) तक कुछ भी मैच करता है जो आखिरी स्पेस तक सब कुछ मैच करेगा और फिर आखिरी शब्द कैप्चर करेगा (\(.*\)। चूंकि शब्द कैप्चर किया गया है, इसलिए हम इसे संदर्भित कर सकते हैं \1।
एक सरल संस्करण:
$ SayStuff | sed 's/.* //'
cucumbers
दे घुमा के
$ foo=$(SayStuff); echo ${foo##* }
cucumbers
यह बैश की स्ट्रिंग हेरफेर क्षमताओं का उपयोग करता है, अधिक विवरण के लिए यहां देखें।
अधिक मारपीट
$ SayStuff | while read a b c; do echo $c; done
cucumbers
पर्ल, जहां निश्चित रूप से, ऐसा करने के कई तरीके हैं:
$ SayStuff | perl -lane 'print $F[$#F]'
cucumber
-aबनाता है perlकी तरह व्यवहार awkकरने से व्हाइटस्पेस पर, बंटवारे लाइनों और सरणी में बचत @F। हम तब @F( $#Fतत्वों की संख्या में @F) के अंतिम तत्व को प्रिंट करते हैं । -lप्रत्येक के लिए एक नई पंक्ति जोड़ने के लिए पर्ल बताता printबयान, -nकि यह लाइन द्वारा STDIN लाइन संसाधित करना चाहिए और -eयह स्क्रिप्ट कमांड लाइन पर दिया चलाना चाहिए कि।
$ SayStuff | perl -pe 's/.* //'
cucumber
ऊपर दिए गए विकल्पों के बारे में बताया गया था, हम आखिरी जगह और छपाई ( -p) तक सब कुछ हटा रहे हैं ।
$ perl -le 'print $ARGV[$#ARGV]' $(SayStuff)
cucumbers
यहां हम Watermelons and cucumbersतर्क के रूप में गुजर रहे हैं , जो पर्ल @ARGसरणी में बचाएगा और इसलिए, हम अंतिम तत्व को प्रिंट करते हैं @ARG।
प्रवंचना। यह एक sedरिक्त स्थान को newlines में बदलने और फिर tailकेवल अंतिम पंक्ति को प्रिंट करने के लिए उपयोग करता है ।
$ SayStuff | sed 's/ /\n/g' | tail -n 1
cucumbers
grep और रेगुलर एक्सप्रेशन, -oजिसके इस्तेमाल से केवल मैचिंग स्ट्रिंग प्रिंट होता है।
$ SayStuff | grep -Po '\w+$'
cucumbers
धोखा दे
$ SayStuff | grep -o cucumbers
cucumbers
cutकरते समय एक चर संख्या नहीं होगीawk।