La mia domanda è:come posso convertire tutto il testo da maiuscolo a minuscolo e viceversa? Cioè cambiare le maiuscole di tutte le lettere. Deve essere fatto con un sed
sostituzione in qualche modo.
Risposta accettata:
Ecco un modo diretto in sed
:
$ echo qWeRtY | sed -e 'y/abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ/ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz/'
QwErTy
o in modo più breve con GNU sed
, lavorando con qualsiasi carattere per il quale esiste una conversione minuscolo<->maiuscolo nella tua locale:
$ echo qWeRtY | sed -E 's/([[:lower:]])|([[:upper:]])/U1L2/g'
QwErTy
se puoi usare altri strumenti, come:
perl
(limitato alle lettere ASCII):
$ echo qWeRtY | perl -pe 'y/[a-z][A-Z]/[A-Z][a-z]/'
QwErTy
perl
(più in generale):
$ echo 'αΒγ' | perl -Mopen=locale -pe 's/(p{Ll})|(p{Lu})/uc($1).lc($2)/ge'
ΑβΓ