안녕하세요 Solaris OS에서 변수를 대문자로 변환하려고합니다.Solaris 쉘에서 대문자 사용
은 Oracle Solaris 10 8/11 s10s_u10wos_17b SPARC 저작권 (C) 1983, 2011, 오라클 :
그래서 hello_world에서 또한또는되면 Hellow_World
에는 HELLO 안녕하세요
도와주세요에, 이것은 솔라리스 OS입니다 및/또는 그 계열사. 판권 소유. 2011년 8월 23일을 조립
안녕하세요 Solaris OS에서 변수를 대문자로 변환하려고합니다.Solaris 쉘에서 대문자 사용
은 Oracle Solaris 10 8/11 s10s_u10wos_17b SPARC 저작권 (C) 1983, 2011, 오라클 :
그래서 hello_world에서 또한또는되면 Hellow_World
에는 HELLO 안녕하세요
도와주세요에, 이것은 솔라리스 OS입니다 및/또는 그 계열사. 판권 소유. 2011년 8월 23일을 조립
펄이있는 경우 :
% echo HELLO_WORLD FOO bar | perl -pe '($_ = lc $_) =~ s/(\b|_)./\U$&/g'
Hello_World Foo Bar
perl -pe
표준 입력, 인수로 주어진 펄 코드를 적용한 후 인쇄 각 행을 읽습니다. $_
이 현재 행입니다. lc
함수는 문자열을 소문자로 변환합니다. 정규 표현식은 단어 경계 또는 밑줄 문자와 일치합니다. s///
명령은 일치하는 모든 부속 문자열을 해당 대문자로 바꿉니다. 후행 g
은 각 행에서 가능한 한 많은 횟수로 대체를 수행합니다 (기본적으로 한 번 완료됩니다). 당신이 (내가 솔라리스는 기본적으로 포함되어 있는지 모르는) 펄이없는 경우
,이 시도 :
% echo HELLO_WORLD FOO bar | tr A-Z a-z | sed 's/\(_\|\<\)./\U&/g'
Hello_World Foo Bar
당신은 sed
명령에 상단에-소문자 매핑을 통합 할 수 y///
을 사용하지만 tr
과 달리 범위를 허용하지 않는 것으로 나타납니다.
% echo HELLO_WORLD FOO bar | tr A-Z a-z | sed 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/;s/\(_\|\<\)./\U&/g'
Hello_World Foo Bar