Wie verwandle ich akzentuierte Kleinbuchstaben in Großbuchstaben? – Mit dem Befehl „tr“

Wie verwandle ich akzentuierte Kleinbuchstaben in Großbuchstaben? – Mit dem Befehl „tr“

Ich habe es versucht mit:

$ echo 'Ciência' | tr 'a-z' 'A-Z'
CIêNCIA

Aber das Zeichen 'ê' ändert sich nicht, offensichtlich weil es betont wird. Dann habe ich es mit POSIX-Klassen versucht:

echo "Ciência" | tr '[:lower:]' '[:upper:]'
CIêNCIA

Das „ê“ wird jedoch weiterhin klein geschrieben.

Kann mir jemand helfen?

Antwort1

Dies können Sie mit gawk tun:

echo "Ciência" | gawk '{print toupper($0);}'

(auch Perl, wie sicher jemand anmerken wird). Das Beispiel verwendet UTF-8, was nicht explizit Teil vonPOSIX awk. Die Dokumentation von gawk erwähnt diese Probleme. Beispielsweise liefern sowohl mawk als auch bwk (one-true-awk) unterschiedliche Ergebnisse:

+ 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

verwandte Informationen