Bashシェルスクリプトで大文字<=>小文字の変換方法いろいろ
前回 大文字あるいは小文字専用の変数を作成する方法について 触れたので、 文字列の大文字<=>小文字の変換方法 について紹介します。
Contents
tr
コマンドを使う方法
おそらく最も古典的かつベーシックな方法です。
全文を変換
一部変換
おそらく tr
を使う方法ではできないのでは?
sed
コマンドを使う方法
こちらも比較的よく見る方法です。
ポイントは \L
と \U
。
置換したい文字列を指定する箇所の先頭に付与すると、 L
の場合には小文字に、 U
の場合には大文字に変換されます。
全文を変換
一部を変換
最初の単語のみに適用。
Bash の変数の展開機能を使う
Bash 4.0 以降では、構文として変数の値参照時に大文字<=>小文字の変換が可能です。
デメリットは変数として使うため、一度代入しておかないといけないこと。while read
ループと組み合わせて使う場合に便利です。
全文を変換
変数の参照時にオプションを指定します。
意外と覚えやすい。 ,,
は下を向いているので小文字に変換され、 ^^
は上を向いているので大文字に変換されます。
先頭 1 文字を変換
先頭一文字だけを変換する事もできます。
一部を変換
read
との組み合わせになるかな。
読みにくい。。
awk
を使う
awk
を使ってもできます。
ひとこと
個人的には sed
の方法が汎用的で好きです。
ディスカッション
コメント一覧
まだ、コメントがありません