Я пишу сценарий оболочки и имею такую переменную: something-that-is -имеет дефис
.
Мне нужно использовать его в различных местах сценария как:
что-то-то-с-дефисом
, что-то сифенированное
, SomethingThatIsHyphenated
Мне удалось поменять его на что-то такое, что было финишировано
, удалив -
с помощью sed "s / - // g"
.
Я уверен, что есть более простой способ, а также необходимо знать, как получить версию с верблюжьей оболочкой.
Изменить: рабочая функция, полученная из ответа @Michał
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 one liner благодаря @glenn
echo a-hyphenated-string | sed -E "s/(^|-)([a-z])/\u\2/g"