나는 다음을 시도했습니다.
$ echo 'Ciência' | tr 'a-z' 'A-Z'
CIêNCIA
하지만 'ê' 문자는 강조되기 때문에 변하지 않습니다. 그런 다음 POSIX 클래스를 사용해 보았습니다.
echo "Ciência" | tr '[:lower:]' '[:upper:]'
CIêNCIA
하지만 'ê'는 소문자로 계속됩니다.
누군가 나를 도와줄 수 있나요?
답변1
gawk로 이 작업을 수행할 수 있습니다.
echo "Ciência" | gawk '{print toupper($0);}'
(또한 Perl에서는 누군가가 분명히 지적할 것입니다). 이 예에서는 명시적으로 다음의 일부가 아닌 UTF-8을 사용합니다.POSIX awk. gawk의 문서에는 이러한 문제가 언급되어 있습니다. 예를 들어, mawk와 bwk(one-true-awk)는 모두 다른 결과를 제공합니다.
+ echo Ciência
+ gawk {print toupper($0);}
CIÊNCIA
+ echo Ciência
+ mawk {print toupper($0);}
CIêNCIA
+ echo Ciência
+ one-true-awk {print toupper($0);}
CIêNCIA