文字列を大文字から小文字に変換したいと思います。この問題を解決するにはさまざまな方法があることは知っていますが、このコマンドが機能しない理由を理解したいと思います。
echo "aa" | sed 's/'[:upper:]'/'[:lower:]'/g'
文字のクラスを使用するのは間違った方法ですか?
小文字から大文字まで、使用できます
echo "aW123bR" | sed -r 's/[a-z]+/\U&/g'
tr
コマンドは興味深い代替手段です
echo "aW123bR" | tr '[:lower:]' '[:upper:]'
ではsed
、y
コマンドは文字セットのマッピングに使用されます。
sed 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'
文字クラスではなく、文字のリテラル リストが必要です。