Kullandığınızdan beri bash, dizginizi bir değişkende sakladıysanız, sadece kabuk olarak da yapabilirsiniz:
uscore="this_is_the_string_to_be_converted"
arr=(${uscore//_/ })
printf %s "${arr[@]^}"
ThisIsTheStringToBeConverted
${uscore//_/ }hepsini _boşlukla değiştirir , (....)diziyi diziye böler, ${arr[@]^}her öğenin ilk harfini büyük harfe dönüştürür ve ardından printf %s ..tüm öğeleri birbiri ardına yazdırır.
Deve kuşu dizesini başka bir değişkende saklayabilirsiniz:
printf -v ccase %s "${arr[@]^}"
ve daha sonra kullanın / yeniden kullanın, örneğin:
printf %s\\n $ccase
ThisIsTheStringToBeConverted
Veya zsh:
uscore="this_is_the_string_to_be_converted"
arr=(${(s:_:)uscore})
printf %s "${(C)arr}"
ThisIsTheStringToBeConverted
(${(s:_:)uscore}) dize böler _diziyi bir diziye(C) her bir öğenin ilk harfini büyük harf yapar ve printf %s ...tüm öğeleri birbiri ardına basar . Öğeleri birleştirmek için
kullanabileceğiniz başka bir değişkende saklamak için (j::):
ccase=${(j::)${(C)arr}}
ve daha sonra kullanın / yeniden kullanın:
printf %s\\n $ccase
ThisIsTheStringToBeConverted
\U\2bulunan metni TÜM CAPS'a dönüştürülen ikinci gruptan ekler. İle karşılaştır\u\2sadece ilk harfi büyük olan, Cümle durumda metin ekler, hangi. (2) Aşağıda verilen tüm örnekler, “this_is_a_string” i “ThisIsAString” e çevirecektir - bu sizin istediğiniz şeydi fakat okuması biraz zor. Tek harfli bir sözcüğün (alt dize) özel durumu için gereksinimlerinizi gözden geçirmek isteyebilirsiniz. … (Devamı)