Bash で文字列の大文字小文字を変換する
-
Bash で
tr
を使用して文字列の大文字小文字を変換する - 組み込みの Bash4 機能を使用して文字列の大文字小文字を変換する
-
Bash で
awk
を使用して文字列の大文字小文字を変換する -
Bash で
sed
を使用して文字列の大文字小文字を変換する
bash コマンドでは、文字列データがさまざまな機能に利用されます。
目的の結果を得るために、文字列の大文字と小文字を変更する必要がある場合があります。大文字と小文字の文字列を変換できます。
Bash で tr
を使用して文字列の大文字小文字を変換する
以前のバージョンの bash では、文字列データは tr
コマンドを使用して変換されていました。:upper
という用語は大文字に使用され、キーワード:lower
は小文字に使用されます。
例を見てみましょう。
echo "Changing All to LOWERCASE" | tr [:upper:] [:lower:]
出力:
changing all to lowercase
:upper:
と:lower:
の位置を次のように変更した場合:
echo "Changing All to UPPERCASE" | tr [:lower:] [:upper:]
出力は次のようになります。
CHANGING ALL TO UPPERCASE
文字列を小文字に、またはその逆に変換するには、後で:lower:
を配置する必要があります。
組み込みの Bash4 機能を使用して文字列の大文字小文字を変換する
Bash 4 の新機能を使用すると、文字列ケースをより簡単に変換できます。
^
記号は任意の文字列の最初の文字を大文字に変換し、^^
記号は文字列全体を大文字に変換します。,
記号は最初の文字を小文字にするために使用され、,,
記号は文字列全体を小文字にするために使用されます。
たとえば、このセクションの例で使用されている変数を宣言しましょう。
$ var="Example String."
そして、変数 var
のすべての文字を大文字にします。
$ echo "${var^^}"
出力:
EXAMPLE STRING.
または、最初の文字を小文字に変換したい場合もあります。
$ echo "${var,}"
出力:
example String.
それでは、文字の大文字小文字を選択し、最初に i
文字を文字列から大文字に変更してみましょう。
$ echo "${var^^i}"
出力:
Example StrIng.
r
と i
の 2つの文字についても同じことを行い、大文字に変換してみましょう。
$ echo "${var^^[r,i]}"
出力:
Example StRIng.
小文字に変更するには、^^
の代わりに ,,
を使用します。
Bash で awk
を使用して文字列の大文字小文字を変換する
また、
$ var="Example String."
すべての文字列を小文字に変換するには、awk
の tolower()
メソッドを使用します。また、すべての文字列を大文字に変換する toupper()
関数もあります。
$x
は、現在のレコードのフィールドを参照します。$0
は、レコード全体を参照する特殊なケースです。
$ echo "$var" | awk '{print tolower($0)}'
出力:
example string.
すべての文字列を大文字に変換するには:
$ echo "$var" | awk '{print toupper($0)}'
出力:
EXAMPLE STRING.
Bash で sed
を使用して文字列の大文字小文字を変換する
sed
スクリプトは、置換コマンドで構成されています。置換コマンドは s/old/new/
で、正規表現 old
に一致するものをテキストで検索し、それを new
に置き換えます。
また、
$ var="Example String."
s/.*/\L&/
は入力内の任意の文字と一致し、同じ文字の小文字バージョンに置き換えます。
$ echo "$var" | sed 's/.*/\L&/'
出力:
example string.