一、对于不包含空格的字符串,使用下面方法
方法一
#!/bin/bash
string="hello,shell,haha"
array=(${string//,/ })
for var in ${array[@]}
do
echo $var
done
方法二
#!/bin/bash
string="hello,shell,haha"
OLD_IFS="$IFS"
IFS=","
array=($string)
IFS="$OLD_IFS"
for var in ${array[@]}
do
echo $var
done
方法三:利用tr 指令实现字符替换
#!/bin/bash
string="one,two,three,four,five"
array=(`echo $string | tr ',' ' '` )
for var in ${array[@]}
do
echo $var
done
二、对于包含空格的字符串,使用下面方法
#!/bin/bash
str='this is a good question, hello shell, look at me, show your enthusiasm'
i=1
while((1==1))
do
splitchar=`echo $str|cut -d "," -f$i`
if [ "$splitchar" != "" ]
then
((i++))
echo $splitchar
else
break
fi
done
在知道会分成几个部分的前提下,可以通过一下进行分割
#!/bin/bash
str='this is a good question, hello shell, look at me, show your enthusiasm'
for((i=1;i<=4;i++))
do
echo $str|cut -d "," -f$I
if [[ $i -eq 1 ]]; then
query=`echo $line|cut -d ":" -f$i`
else
pv_info=`echo $line|cut -d ":" -f$i`
done