アクセント付きの小文字を大文字に変換するには? - "tr"コマンドを使用してください。

アクセント付きの小文字を大文字に変換するには? -

私は以前試しました:

$ 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

おすすめ記事