Isso faz isso (no GNU sed):
echo "remote_available_packages" | sed -E 's/_(.)/\U/g'
Como posso converter palavras separadas sublinhadas para "camelCase"? Aqui está o que estou tentando:
echo "remote_available_packages" | sed -r 's/([a-z]+)_([a-z])([a-z]+)/\U\L/'
Mas retorna remoteAvailable_packages
sem alterar o p
em packages
.
Em Perl:
echo "remote_available_packages" | perl -pe 's/(^|_)([a-z])/uc($2)/ge'
Ou:
echo "remote_available_packages" | perl -pe 's/_([a-z])/uc($1)/ge'
se a primeira letra não deve ser maiúscula.
no awk
echo 'remote_available_packages' | awk -F _ '{printf "%s", $1; for(i=2; i<=NF; i++) printf "%s", toupper(substr($i,1,1)) substr($i,2); print"";}'
Tags sed