トップページ | 過去記事(月別カテゴリー別) | 掲示板 | 野良DEB,RPM | 更新チェック | Twitter
<<  2012.12 >>
SMTWTFS
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
 
リンク
その他
  • RSS2.0
  • Credit

  • SEO
    loading

    プライバシーポリシー
    Google

カテゴリー » Linux December 17, 2012

(シェルスクリプト)bashの機能だけで文字列を分割して変数に代入 Linux

cutやtr、sed、awkを使わずに「hoge="AAA,BBB,CCC"」のAAA・BBB・CCCを変数に代入したい時
1. $1・$2・$3に入れる
OIFS="$IFS"; IFS=','
set -- $hoge; IFS="$OIFS"
echo "$1"
echo "$2"
echo "$3"
2. readを使う
IFS=',' read -r hoge1 hoge2 hoge3 <<< "$hoge"
echo "$hoge1"
echo "$hoge2"
echo "$hoge3"
3. 配列に入れる
OIFS="$IFS"; IFS=','
hoge_array=($hoge); IFS="$OIFS"
echo "${hoge_array[0]}"
echo "${hoge_array[1]}"
echo "${hoge_array[2]}"
4. readで配列に入れる
IFS=',' read -ra hoge_array <<< "$hoge"
echo "${hoge_array[0]}"
echo "${hoge_array[1]}"
echo "${hoge_array[2]}"
外部コマンドを使わないので高速。

【追記】
5. 変数展開機能を使う
11:51 pm | コメントする |

累計:1070693、今日:1348、昨日:1304
Created in 0.0076 sec.