मेरे पास तीन प्रकार के तार हैं जिन्हें मैं एक बैश स्क्रिप्ट में कैपिटल बनाना चाहता हूं। मुझे लगा कि sed/awk मेरी सबसे अच्छी शर्त होगी, लेकिन मुझे यकीन नहीं है। निम्नलिखित आवश्यकताओं को देने का सबसे अच्छा तरीका क्या है?sed/awk capitalize स्ट्रिंग्स
1.) एकल शब्द उदा। taco -> Taco
2.) हाइफ़न उदा। my-fish-tacos -> My-Fish-Tacos
3.) अंडरस्कोर उदा। my_fish_tacos -> My_Fish_Tacos
मैं सभी कैप्स वाले शब्दों को संभालने के लिए इसे कैसे संशोधित करूं? उदाहरण के लिए मेरे-फिश-टैकोस को माई-फिश-टैकोस को आउटपुट करना चाहिए। – GregB
@GregB: इसे सभी वर्णों को कम करने के लिए कहें, फिर अगले को अपरकेस करें: 'sed's/[^ _-] */\ L \ u &/g'' –
नोट: यह एक जीएनयू sed एक्सटेंशन है।बीएसडी sed उपयोगकर्ता (ओएस एक्स सहित) यह नहीं कर सकते हैं। – Jashank