このエントリーをはてなブックマークに追加


bashで指定した位置から指定文字数分の文字列を取得する

bashでsubstr関数のような、文字列を指定した位置から指定文字数分取得する例を以下に記します。


指定した位置から指定文字数分取得する

以下の構文で指定した位置から指定した文字数取得ことができます。

${a:開始位置:取得文字数}

実行例

$ STR="1234567890"
$ echo ${STR:0:10}
1234567890
$ echo ${STR:0:9}
123456789

上記のように開始位置0から10文字取得と9文字取得の実行例です。
取得文字数をかえれば以下のようになります。

$ echo ${STR:2:3}
345

応用編

文字列長は以下の構文で取得できます。

${#変数}

なので、例えば後ろ3文字消したいなどという場合は以下のように記述します。

$ STR="1234567890"
$ echo ${STR:0:${#STR}-3}
1234567

中間を削りたければ、以下のように記述すればよいでしょう。

$ echo ${STR:0:3}${STR:7:3}
123890

以上、bashで文字列を指定した位置から指定文字数取得する方法でした。



トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2016-09-06 (火) 21:32:21