部分文字列の抽出

Bash:
部分文字列の抽出

How to: (方法)

Bashではサブストリングは簡単に抜き出せる。例と出力を見てみよう。

# Example 1: 文字列から部分を抜き出す
string="こんにちは、世界!"
echo ${string:7:3}

# 出力: 世
# Example 2: 文字列の後ろから部分を抜き出す
string="ファイル名: report-2023.txt"
echo ${string: -4}

# 出力: .txt

Deep Dive (深掘り)

Bashでのサブストリングの抽出は、Bash自体の出現 (1989年) 以来、スクリプトの基本の一部。exprcut のような外部コマンドを使う代わりに、Bashの組み込み機能を使用すると効率が良い。変数を操作する方法は、プラットフォームに依存せず、余分なプロセスを起動する必要がない。

始点と長さを指定する方法の他に、パターンマッチングを使ってサブストリングを取り出すやり方もある:

# Example 3: パターンマッチングでサブストリングを抜き出す
string="重要:このメールは機密事項を含んでいます。"
echo ${string#重要:}

# 出力: このメールは機密事項を含んでいます。

基本的に、サブストリングを抜き出すときは${変数名:オフセット:長さ}の構文を使う。オフセットをマイナスにすることで、文字列の最後からカウントもできる。

See Also (関連情報)

これらのリンクには、Bashでの文字列操作についてのさらに詳しい情報が詰まっている。