Bash で文字列の大文字小文字を変換する

Nilesh Katuwal 2023年1月30日
  1. Bash で tr を使用して文字列の大文字小文字を変換する
  2. 組み込みの Bash4 機能を使用して文字列の大文字小文字を変換する
  3. Bash で awk を使用して文字列の大文字小文字を変換する
  4. Bash で sed を使用して文字列の大文字小文字を変換する
Bash で文字列の大文字小文字を変換する

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.

ri の 2つの文字についても同じことを行い、大文字に変換してみましょう。

$ echo "${var^^[r,i]}"

出力:

Example StRIng.

小文字に変更するには、^^の代わりに ,, を使用します。

Bash で awk を使用して文字列の大文字小文字を変換する

また、

$ var="Example String."

すべての文字列を小文字に変換するには、awktolower() メソッドを使用します。また、すべての文字列を大文字に変換する 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.

関連記事 - Bash String