Karena Anda menggunakan bash, jika Anda menyimpan string dalam variabel, Anda juga dapat melakukannya hanya shell:
uscore="this_is_the_string_to_be_converted"
arr=(${uscore//_/ })
printf %s "${arr[@]^}"
ThisIsTheStringToBeConverted
${uscore//_/ }mengganti semua _dengan spasi, (....)memisahkan string menjadi array, ${arr[@]^}mengubah huruf pertama dari setiap elemen menjadi huruf besar dan kemudian printf %s ..mencetak semua elemen satu demi satu.
Anda dapat menyimpan string yang dikunci unta ke variabel lain:
printf -v ccase %s "${arr[@]^}"
dan gunakan / gunakan kembali nanti, misalnya:
printf %s\\n $ccase
ThisIsTheStringToBeConverted
Atau, dengan zsh:
uscore="this_is_the_string_to_be_converted"
arr=(${(s:_:)uscore})
printf %s "${(C)arr}"
ThisIsTheStringToBeConverted
(${(s:_:)uscore})memisahkan string _menjadi sebuah array, (C)huruf besar huruf pertama dari setiap elemen dan printf %s ...mencetak semua elemen satu demi satu ..
Untuk menyimpannya dalam variabel lain yang bisa Anda gunakan (j::)untuk bergabung dengan elemen:
ccase=${(j::)${(C)arr}}
dan gunakan / gunakan kembali nanti:
printf %s\\n $ccase
ThisIsTheStringToBeConverted
\U\2memasukkan teks yang ditemukan dari grup kedua, dikonversi ke ALL CAPS. Bandingkan dengan\u\2, yang menyisipkan teks dalam huruf Kalimat, dengan hanya karakter pertama yang ditulis dengan huruf kapital. (2) Semua contoh yang diberikan di bawah ini akan menerjemahkan "this_is_a_string" menjadi "ThisIsAString" - yang Anda minta, tetapi agak sulit dibaca. Anda mungkin ingin merevisi persyaratan Anda untuk huruf khusus satu kata (substring). … (Lanjutan)