जब से आप उपयोग कर रहे हैं 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)