CamelCase в Unix shell
Пример для версий
Bash 4.0.35,
Bash 4.1.5
Используются регулярные выражения. Первая строка читает с консоли строку для обработки $text
. Вторая — переводит ее в нижний регистр. Затем в полученной строке ищутся последовательности букв — слова — по одному за раз. Каждое слово выделяется (переменная BASH_REMATCH
содержит информацию о последовательности символов, которая соответствует регулярному выражению, которое в последний раз искали в строке), заменяется на пробел в исходной строке (во избежание повторного нахождения) и добавляется к результату $cc
в нужном регистре (функция ${word^}
переводит первый символ аргумента в верхний регистр). Наконец, результат выводится на печать.
read text
text=${text,,}
cc=""
regex='([a-z]+)'
while [[ $text =~ $regex ]]
do
word=${BASH_REMATCH[1]}
text=${text/$word/ }
cc=$cc${word^}
done
echo $cc
Комментарии
]]>blog comments powered by Disqus
]]>