Se ho una stringa simile a questa:
"this_is_the_string"
All'interno di uno script bash, vorrei convertirlo in PascalCase, ovvero UpperCamelCase per assomigliare a questo:
"ThisIsTheString"
Ho scoperto che la conversione in lowerCamelCase può essere fatta in questo modo:
"this_is_the_string" | sed -r 's/([a-z]+)_([a-z])([a-z]+)/\1\U\2\L\3/'
Sfortunatamente non ho abbastanza familiarità con le regex per modificarlo.
(^|_)
passa a (\<|_)
.
\U\2
inserisce il testo trovato dal secondo gruppo, convertito in TUTTI MAIUSCOLI. Confronta con\u\2
, che inserisce il testo in maiuscolo, con solo il primo carattere in maiuscolo. (2) Tutti gli esempi riportati di seguito tradurranno "this_is_a_string" in "ThisIsAString" - che è quello che hai chiesto, ma è leggermente difficile da leggere. Potresti voler rivedere i tuoi requisiti per il caso speciale di una parola di una lettera (sottostringa). ... (proseguendo)