मैं शायद पहले से ही दिए गए विकल्पों में से एक का उपयोग करूंगा @slhck लेकिन यहाँ ऐसा करने के कुछ और तरीके दिए गए हैं:
सरणियों का उपयोग करना, जैसा कि आप किसी अन्य भाषा में करेंगे:
$ foo=( $(SayStuff) )
$ echo ${foo[2]}
cucumbers
var=()
एक सरणी वाणी, $(command)
आदेश के उत्पादन में बचत होती है। इसलिए, सरणी और युओ foo=( $(SayStuff) )
के उत्पादन को संग्रहीत करता है और फिर इसके साथ तीसरा तत्व है ।SayStuff
foo
echo
${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
।