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'

最初の文字を大文字で書いてはいけない場合。

関連情報