「Bash」IFSを使ってスペースで文字列を分割する

説明
環境変数「IFS」(Internal Filed Separator)には、bashの場合「スペース」「タブ」「改行」($’ \t\n’)といった値が初期設定されていて、
これらが文字の区切りとして認識されています。
書式
IFS=’ ' #スペース値が設定される

使用例

#!/bin/bash
#Example for bash split string by space

read -p "スペースで区切った文字列を入力してください: " str  #文字列の読取

IFS=' ' #区切文字としてスペースを設定
read -ra TARGET <<<"$str" #IFSで区切られたトークンとして文字列を配列として読み取る
echo "文字列を分割するサンプル"
for str in "${TARGET[@]}"; #配列の要素にアクセスする
do
echo "$str"
done

実行結果

# sh test23.sh
スペースで区切った文字列を入力してください: study skill become smart
文字列を分割するサンプル
study
skill
become
smart

 

batch

Posted by arkgame