मैं निम्नलिखित पैटर्न बदलना चाहते हैं:लोअर केस को ऊपरी sed का उपयोग
getFoo_Bar
रहे हैं:
getFoo_bar
(ध्यान दें कम ख)
न foo को जानने का न ही बार, प्रतिस्थापन पैटर्न क्या है? "\ 2 छोटे अक्षर" मैं लिखना चाहते हैं, मुझे लगता है कि कैसे करते हो:
मैं
sed 's/\(get[A-Z][A-Za-z0-9]*_\)\([A-Z]\)/\1
लिखना शुरू किया, लेकिन मैं अटक कर रहा हूँ?
शायद sed को अनुकूलित नहीं किया गया है?
उत्तर का विस्तार करने के लिए, यहां सभी सामान्य वर्णों को कम करने के लिए सामान्य अभिव्यक्ति है: 'echo getFoo_Bar | sed -e's/\ ([ए-जेड] [ए-ज़ा-जे 0-9] * \)/\ एल \ 1/g'', जो 'getfoo_bar' – espinchi
उत्पन्न करता है ध्यान दें कि यह समाधान केवल जीएनयू sed के साथ काम करता है। POSIX sed में कोई '\ l' /' \ L'/'\ u' /' \ U'/'\ E' नहीं है। इस मामले में आप perl का उपयोग कर सकते हैं (देखें [@ user83591 का इस प्रश्न का उत्तर] (http://stackoverflow.com/a/689620/2451238)) या अजीब (देखें [मेरे दूसरे प्रश्न का उत्तर] (http: // stackoverflow .com/एक/18298882/2451238))। – mschilli