मैं चर है:बाश में स्ट्रिंग के अंतिम भाग को कैसे निकालें?
A="Some variable has value abc.123"
मैं abc.123
यानी यह मान निकालने की जरूरत है। क्या यह बाश में संभव है?
मैं चर है:बाश में स्ट्रिंग के अंतिम भाग को कैसे निकालें?
A="Some variable has value abc.123"
मैं abc.123
यानी यह मान निकालने की जरूरत है। क्या यह बाश में संभव है?
आप कैसे जानते हैं कि मूल्य कहां से शुरू होता है? यह हमेशा अगर 5 और 6 शब्द, आप इस्तेमाल कर सकते हैं जैसे: .:
B=$(echo $A | cut -d ' ' -f 5-)
इस लाइन का हिस्सा बाहर काट करने के लिए, शब्द परिसीमक के रूप में एक सरल स्थान का उपयोग कर cut
आदेश का उपयोग करता है।
हां; इस:
A="Some variable has value abc.123"
echo "${A##* }"
इस प्रिंट होगा:
abc.123
(${parameter##word}
अंकन §3.5.3 "Shell Parameter Expansion" of the Bash Reference Manual से समझाया गया है।)
सरल
echo $A | awk '{print $NF}'
कुछ पैरामीटर विस्तार
का उपयोग कर उदाहरण हैA="Some variable has value abc.123"
echo "${A##* }"
abc.123
"अंतरिक्ष
echo "${A% *}"
Some variable has value
पर सबसे लंबे समय तक मैच पर" सबसे लंबे समय तक मैच। "अंतरिक्ष
echo "${A%% *}"
some
पर" डॉट
echo "${A%.*}"
Some variable has value abc
सबसे छोटा मैच और पढ़ें Shell-Parameter-Expansion
इस कमांड लाइन के लिए सबसे अच्छा जवाब है, मुझे आश्चर्य है कि क्यों यह अधिक लोकप्रिय नहीं है –