Я довольно неопытен в написании скриптов *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
делает следующий символ заглавным.