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

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

使用例

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
#!/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
#!/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
#!/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

実行結果

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# sh test23.sh
スペースで区切った文字列を入力してください: study skill become smart
文字列を分割するサンプル
study
skill
become
smart
# sh test23.sh スペースで区切った文字列を入力してください: study skill become smart 文字列を分割するサンプル study skill become smart
# sh test23.sh
スペースで区切った文字列を入力してください: study skill become smart
文字列を分割するサンプル
study
skill
become
smart

 

batch

Posted by arkgame