Meine Frage ist, wie kann ich den gesamten Text von Großbuchstaben in Kleinbuchstaben und umgekehrt konvertieren? Das heißt, die Groß- und Kleinschreibung aller Buchstaben zu ändern. Dies muss mit einem sed
erfolgen Ersatz irgendwie.
Akzeptierte Antwort:
Hier ist ein direkter Weg in sed
:
$ echo qWeRtY | sed -e 'y/abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ/ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz/'
QwErTy
oder kürzer mit GNU sed
, das mit allen Zeichen funktioniert, für die in Ihrem Gebietsschema eine Kleinbuchstaben<->Großbuchstaben-Konvertierung existiert:
$ echo qWeRtY | sed -E 's/([[:lower:]])|([[:upper:]])/U1L2/g'
QwErTy
wenn Sie andere Tools verwenden können, wie:
perl
(beschränkt auf ASCII-Buchstaben):
$ echo qWeRtY | perl -pe 'y/[a-z][A-Z]/[A-Z][a-z]/'
QwErTy
perl
(allgemeiner):
$ echo 'αΒγ' | perl -Mopen=locale -pe 's/(p{Ll})|(p{Lu})/uc($1).lc($2)/ge'
ΑβΓ