Ma question est comment puis-je convertir tout le texte de majuscule en minuscule et vice versa? C'est changer la casse de toutes les lettres. Cela doit être fait avec un sed
remplacement en quelque sorte.
Réponse acceptée :
Voici un chemin direct en sed
:
$ echo qWeRtY | sed -e 'y/abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ/ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz/'
QwErTy
ou un chemin plus court avec GNU sed
, en travaillant avec n'importe quel caractère pour lequel une conversion minuscule<->majuscule existe dans vos paramètres régionaux :
$ echo qWeRtY | sed -E 's/([[:lower:]])|([[:upper:]])/U1L2/g'
QwErTy
si vous pouvez utiliser d'autres outils, comme :
perl
(limité aux lettres ASCII) :
$ echo qWeRtY | perl -pe 'y/[a-z][A-Z]/[A-Z][a-z]/'
QwErTy
perl
(plus généralement) :
$ echo 'αΒγ' | perl -Mopen=locale -pe 's/(p{Ll})|(p{Lu})/uc($1).lc($2)/ge'
ΑβΓ