Perl para o resgate:
echo one-two-three-four-five | perl -pe 's/-(.)/\u$1/g'
\u
atualiza o caractere a seguir.
Sou razoavelmente inexperiente com scripts * nix, e tenho a necessidade de usar uma string com palavras minúsculas separadas por traços e convertê-la em uma nova string com os traços removidos e a primeira letra após cada traço original maiúscula. Por exemplo, eu quero levar
one-two-three-four-five
e convertê-lo para
oneTwoThreeFourFive
A solução deve ser capaz de lidar com múltiplos traços (incluindo nenhum), e pode usar outros utilitários * nix, se necessário, como sed, awk, etc.
Tags bash sed linux unix string-manipulation