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で文字列を指定した位置から指定文字数取得する方法でした。