返回到文章

采纳

编辑于

shell 将字符串用逗号分割成数组

shell
常用命令

a="one,two,three,four"

要将$a分割开,可以这样:

OLD_IFS="$IFS" 
IFS="," 
arr=($a) 
for s in ${arr[@]} 
do 
    echo "$s" 
done
IFS="$OLD_IFS"

结果:

one 
two 
three 
four

arr=($a)用于将字符串$a分割到数组$arr ${arr[0]} ${arr[1]} ...,分别存储分割后的数组第1 2 ...项,${arr[@]}存储整个数组。变量$IFS存储着分隔符,这里我们将其设为逗号",",·OLD_IFS·用于备份默认的分隔符,使用完后将之恢复默认。