シェルスクリプトで文字列を切り出しする方法

目次

スポンサードリンク

シェルスクリプトで 文字列から部分文字列を切り出しする方法を解説します。

変数展開で部分文字列を取得する方法

一つ目の方法は、シェルの変数展開と呼ばれる機能を使用する方法です。全角文字を含んだ場合にも使える便利な方法です。対象の文字列が変数に格納されている場合に使うことができます。

以下は Bashで変数展開を使う際の構文です。

${変数名:開始位置:長さ}

以下のサンプルコードでは、開始位置と長さを指定して部分文字列を取得しています。3つ目のサンプルコードは長さを省略し、開始位置から最後までの文字列を取得しています。最後のサンプルコードは、後ろから部分文字列を取得する場合です。開始位置を省略し、代わりに半角スペースを置きます。長さにはマイナスを指定します。

#!/bin/bash

sample="サンプル文字列です"

# 先頭から2文字を切り出す
echo ${sample:0:3}

# 4文字目から3文字を切り出す
echo ${sample:3:3}

# 3文字目から最後まで
echo ${sample:3}

# 後ろから3文字目
echo ${sample: -3}

上記サンプルコードを実行すると以下の様に切り出した文字列が表示されます。

[root@hostname tmp]# ./txt.sh 
サンプ
ル文字
ル文字列です
列です


シェルスクリプトの知識は、プログラマにとって長く役立つ知識です。 私はこちらの書籍で一通り知識を抑えました。基本から丁寧に解説されています。

最短3時間で覚えるLinuxシェルスクリプト
こちらは、シェルスクリプトの基本的な書き方、デバッグ方法、if, case, while, forなど基本的な制御構文について書かれています。30日間の無料体験もできる『Kindle Unlimited』でも読むことができます。

Linuxコマンドについて徹底的に学べるUdemy講座
もう絶対に忘れない Linux コマンド【Linux 100本ノック+名前の由来+丁寧な解説で、長期記憶に焼き付けろ!】 icon