
下線で区切られた単語を「camelCase」に変換するには?これが私が試していることです:
echo "remote_available_packages" | sed -r 's/([a-z]+)_([a-z])([a-z]+)/\1\U\2\L\3/'
ただし、remoteAvailable_packages
変更されていない状態で返されます。p
packages
答え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'
最初の文字を大文字で書いてはいけない場合。