Case बदलना
tr जैसे किसी external tool की ज़रूरत के बिना।In this page:
${variable^^} # uppercase
${variable,,} # lowercase
${variable^} # capitalize first letter
पूरी String को Uppercase और Lowercase करना
${var^^} string के हर character को uppercase में convert करता है, और ${var,,} हर character को lowercase में convert करता है, दोनों Bash natively करता है बिना कोई external process spawn किए। यह tr से pipe करने का एक fast, built-in alternative है।
उदाहरण: Uppercase and Lowercase the Whole String
#!/bin/bash
name="Ada Lovelace"
echo "Uppercase: ${name^^}"
echo "Lowercase: ${name,,}"
Login to try C/C++/Java/PHP code in the editor
सिर्फ पहला Character Capitalize करना
${var^} सिर्फ string के पहले character को uppercase करता है, बाकी untouched छोड़ते हुए, और ${var,} सिर्फ पहले character के lowercasing के लिए वही करता है। यह बाकी को affect किए बिना एक word को capitalize करने के लिए उपयोगी है।
उदाहरण: Capitalizing Just the First Character
#!/bin/bash
word="hello"
capitalized=${word^}
echo "Capitalized: $capitalized"
shouty="WORLD"
lowered_first=${shouty,}
echo "First letter lowered: $lowered_first"
Login to try C/C++/Java/PHP code in the editor
सिर्फ Matching Characters Convert करना
^^ और ,, दोनों एक optional glob pattern accept करते हैं यह restrict करते हुए कि कौन से characters convert हों, तो ${var^^[aeiou]} string में सिर्फ vowels को uppercase करता है consonants को वैसे ही छोड़ते हुए।
यह एक all-or-nothing conversion से आगे fine-grained control देता है।
उदाहरण: Converting Only Matching Characters
#!/bin/bash
word="programming"
vowels_upper=${word^^[aeiou]}
echo "Vowels uppercased: $vowels_upper"
Login to try C/C++/Java/PHP code in the editor
Older Bash के लिए Fallback: tr
Bash 4.0 से पुराने versions पर (जैसे कुछ macOS systems पर shipped stock /bin/bash), ${var^^}/${var,,} available नहीं हैं, इसलिए tr '[:lower:]' '[:upper:]' (या vice versa) pipe किया हुआ portable alternative है।
यह एक external process spawn करने के कारण slower है, लेकिन हर जगह काम करता है।
उदाहरण: Fallback for Older Bash: tr
#!/bin/bash
name="Ada Lovelace"
upper=$(echo "$name" | tr '[:lower:]' '[:upper:]')
echo "Uppercase via tr: $upper"
Login to try C/C++/Java/PHP code in the editor
- यह मान लेना कि case conversion parameter expansion (
^^,,,) old Bash versions में काम करता है; यह Bash 4.0 में introduce हुआ था, तो बहुत old Bash (जैसे macOS का stock 3.2) target करने वाली scripts को इसके बजायtrचाहिए। - Single-character forms (
^,,) को double-character forms (^^,,,) से confuse करना; single form सिर्फ पहले character को affect करता है, double form पूरी string को affect करता है। - यह भूल जाना कि ये operators सिर्फ
${var^^}-style expansions में plain variables पर काम करते हैं, string literals पर directly नहीं -- आपको text को पहले एक variable में store करना होगा।
${var^^}पूरी string को uppercase में convert करता है;${var,,}पूरी string को lowercase में convert करता है।${var^}सिर्फ पहला character uppercase करता है;${var,}सिर्फ पहला character lowercase करता है।- ये Bash 4.0+ features हैं; older Bash (जैसे macOS का default 3.2) को इसके बजाय
tr '[:lower:]' '[:upper:]'चाहिए। - आप सिर्फ एक specific pattern से match करने वाले characters भी convert कर सकते हैं, जैसे
${var^^[aeiou]}सिर्फ vowels uppercase करता है।
Chapter Quiz — Complete all 10 topics to unlock
0/10 topics done
Complete these topics first: