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年) 以来、スクリプトの基本の一部。expr
や cut
のような外部コマンドを使う代わりに、Bashの組み込み機能を使用すると効率が良い。変数を操作する方法は、プラットフォームに依存せず、余分なプロセスを起動する必要がない。
始点と長さを指定する方法の他に、パターンマッチングを使ってサブストリングを取り出すやり方もある:
# Example 3: パターンマッチングでサブストリングを抜き出す
string="重要:このメールは機密事項を含んでいます。"
echo ${string#重要:}
# 出力: このメールは機密事項を含んでいます。
基本的に、サブストリングを抜き出すときは${変数名:オフセット:長さ}
の構文を使う。オフセットをマイナスにすることで、文字列の最後からカウントもできる。
See Also (関連情報)
これらのリンクには、Bashでの文字列操作についてのさらに詳しい情報が詰まっている。