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

Я довольно неопытен в сценариях *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 подчеркивает следующий персонаж.

Другие вопросы по тегам