文字列を小文字に変換

Bash:
文字列を小文字に変換

How to: (方法)

# trコマンドを使用
echo "Kon'nichiwa Sekai" | tr '[:upper:]' '[:lower:]'
# 出力: kon'nichiwa sekai

# パラメータ展開を利用
str="Kon'nichiwa Sekai"
echo "${str,,}"
# 出力: kon'nichiwa sekai

# awkコマンドを使用
echo "Kon'nichiwa Sekai" | awk '{print tolower($0)}'
# 出力: kon'nichiwa sekai

Deep Dive (詳細情報)

歴史的に見ると、trはUnix系システムで文字列を変換する古典的なツールです。Bash バージョン 4.0 以降、パラメータ展開を使用する書き方もあります。これは tr に比べてサブシェルを使わないため速いです。awkはテキストを処理するスクリプト言語でtolower関数で簡単に文字列を小文字に変更できます。

選択肢として、sedperlのコマンドラインオプションもありますが、Bash環境においてはtrやパラメータ展開はより見かけます。実装の詳細に関しては、trではUnicodeの大文字小文字変換もサポートしており、Bashのパラメータ展開は非常に簡単に使うことができるのが特徴です。

See Also (関連リンク)