camelCase 명명법에 밑줄 표시

camelCase 명명법에 밑줄 표시

밑줄로 구분된 단어를 "camelCase"로 변환하는 방법은 무엇입니까? 이것이 내가 시도하는 것입니다:

echo "remote_available_packages" | sed -r 's/([a-z]+)_([a-z])([a-z]+)/\1\U\2\L\3/'

그러나 에서는 remoteAvailable_packages변경되지 않은 상태 로 반환됩니다 .ppackages

답변1

이것은 (GNU sed에서) 수행됩니다:

echo "remote_available_packages" | sed -E 's/_(.)/\U\1/g'

답변2

갑자기

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"";}'

답변3

펄에서는:

echo "remote_available_packages" | perl -pe 's/(^|_)([a-z])/uc($2)/ge'  

또는:

echo "remote_available_packages" | perl -pe 's/_([a-z])/uc($1)/ge'

첫 글자를 대문자로 쓰면 안 되는 경우.

관련 정보