Верблюжья оболочка с пунктирной строкой

Верблюжья оболочка с пунктирной строкой

Я довольно неопытен в написании скриптов *nix, и мне нужно взять строку со словами в нижнем регистре, разделенными дефисами, и преобразовать ее в новую строку с удаленными дефисами и первой буквой после каждого исходного дефиса в верхнем регистре. Например, я хочу взять

one-two-three-four-five

и преобразовать его в

oneTwoThreeFourFive

Решение должно иметь возможность обрабатывать несколько дефисов (включая отсутствие таковых) и при необходимости использовать другие утилиты *nix, такие как sed, awk и т. д.

решение1

Perl спешит на помощь:

echo one-two-three-four-five | perl -pe 's/-(.)/\u$1/g'

\uделает следующий символ заглавным.

Связанный контент