私の質問は、すべてのテキストを大文字から小文字に、またはその逆に変換する方法です。つまり、すべての文字の大文字と小文字を変更します。どういうわけか代替によって行われるべきですsed
。
ベストアンサー1
簡単なアプローチは次のとおりですsed
。
$ echo qWeRtY | sed -e 'y/abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ/ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz/'
QwErTy
または、sed
小文字の<->大文字変換が存在するロケールのすべての文字を処理するGNUのより短い方法を使用します。
$ echo qWeRtY | sed -E 's/([[:lower:]])|([[:upper:]])/\U\1\L\2/g'
QwErTy
次のような他のツールが利用可能な場合:
perl
(ASCII文字のみ):
$ echo qWeRtY | perl -pe 'y/[a-z][A-Z]/[A-Z][a-z]/'
QwErTy
perl
(より一般的):
$ echo 'αΒγ' | perl -Mopen=locale -pe 's/(\p{Ll})|(\p{Lu})/uc($1).lc($2)/ge'
ΑβΓ