我嘗試過:
$ 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