जब से आप उपयोग कर रहे हैं bash, यदि आपने अपनी स्ट्रिंग को एक चर में संग्रहीत किया है तो आप इसे केवल शेल भी कर सकते हैं:
uscore="this_is_the_string_to_be_converted"
arr=(${uscore//_/ })
printf %s "${arr[@]^}"
ThisIsTheStringToBeConverted
${uscore//_/ }_अंतरिक्ष के साथ सभी को प्रतिस्थापित (....)करता है, स्ट्रिंग को एक सरणी में विभाजित ${arr[@]^}करता है, प्रत्येक तत्व के पहले अक्षर को ऊपरी मामले में परिवर्तित करता है और फिर printf %s ..सभी तत्वों को एक के बाद एक प्रिंट करता है।
आप ऊंट-आवरण वाले स्ट्रिंग को दूसरे चर में संग्रहीत कर सकते हैं:
printf -v ccase %s "${arr[@]^}"
और बाद में इसका उपयोग / पुनः उपयोग करें, जैसे:
printf %s\\n $ccase
ThisIsTheStringToBeConverted
या, के साथ zsh:
uscore="this_is_the_string_to_be_converted"
arr=(${(s:_:)uscore})
printf %s "${(C)arr}"
ThisIsTheStringToBeConverted
(${(s:_:)uscore})_एक सरणी में स्ट्रिंग को विभाजित करता है , (C)प्रत्येक तत्व के पहले अक्षर को कैपिटल करता है और printf %s ...सभी तत्वों को एक के बाद एक प्रिंट करता है ..
इसे दूसरे चर में संग्रहीत करने के लिए आप तत्वों को जोड़ने के (j::)लिए उपयोग कर सकते हैं :
ccase=${(j::)${(C)arr}}
और बाद में इसका उपयोग / पुनः उपयोग करें:
printf %s\\n $ccase
ThisIsTheStringToBeConverted
\U\2दूसरे समूह से पाया गया पाठ सम्मिलित करता है, ALL CAPS में परिवर्तित हो जाता है। इसकी तुलना करें\u\2, जो कि पाठ को वाक्य के मामले में सम्मिलित करता है, जिसमें केवल पहला वर्ण कैपिटल होता है। (२) नीचे दिए गए सभी उदाहरण "This_is_a_string" को "ThisIsAString" में अनुवाद करेंगे - जो आपने पूछा है, लेकिन पढ़ने में थोड़ा कठिन है। आप एक-अक्षर के शब्द (विकल्प) के विशेष मामले के लिए अपनी आवश्यकताओं को संशोधित करना चाह सकते हैं। … (Cont'd)