Sublinhado para camelCase [duplicado]

0

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 .

    
por Philip Kirkbride 12.01.2018 / 20:30

3 respostas

3

Isso faz isso (no GNU sed):

echo "remote_available_packages" | sed -E 's/_(.)/\U/g'
    
por 12.01.2018 / 20:38
1

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.

    
por 13.01.2018 / 02:17
0

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"";}'
    
por 24.11.2018 / 17:24

Tags