Я пишу сценарий оболочки и у меня есть переменная, подобная этой: something-that-is-hyphenated
.
Мне нужно использовать его в различных точках сценария как:
something-that-is-hyphenated
, somethingthatishyphenated
, SomethingThatIsHyphenated
Мне удалось изменить его на somethingthatishyphenated
, убрав -
с помощью sed "s/-//g"
.
Я уверен, что есть более простой способ, а также, мне нужно знать, как получить верблюжью версию.
Редактировать: Рабочая функция, полученная из ответа @ Михала
function hyphenToCamel {
tr '-' '\n' | awk '{printf "%s%s", toupper(substr($0,1,1)), substr($0,2)}'
}
CAMEL=$(echo something-that-is-hyphenated | hyphenToCamel)
echo $CAMEL
Редактировать: Наконец, один лайнер sed благодаря @ glenn
echo a-hyphenated-string | sed -E "s/(^|-)([a-z])/\u\2/g"