在 bash 中分割字符串

比如,要分割 test=”aaa,bbb,cc cc,dd dd”,可以这样

arr=$(echo $test|tr "," "\n")

还可以这样

OLD_IFS=$IFS
IFS=','
arr=$test
IFS=$OLD_IFS

然后用

for x in $arr; do
  echo $x
done

看看效果

或者更直接一点

IFS=',' arr=($test)

这样直接就变成了 bash 数组。可以这样遍历:

for x in ${arr[@]}; do
  echo $x
done

或者直接通过下标访问:

echo ${arr[0]}
echo ${arr[1]}

3 thoughts on “在 bash 中分割字符串

  1. LauTau June 25, 2010 / 9:00 pm

    哎, 搞错了, 那个是awk里的

  2. LauTau June 23, 2010 / 1:17 am

    印象中是有个split()函数一句话就搞定了。

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s