2013-02-28 89 views
0

数组以 “空间” 作为默认分隔符:空间分隔符阵列Shell脚本

str="HI I GOT;IT" 

arr2=$(echo $str | tr ";" " ") 
for x in $arr2 
do 
echo " $x" 
done 

输出:

HI

GOT

IT

我想输出是:

HI I GOT

IT

回答

0

你还没有说哪个壳,这是,但它看起来像bash,所以我会去那第i个。这是IFS的一项工作,它确定bash如何拆分单词。在这里,我们将它设置为;作为单个命令,来分割您的字符串。

您还需要适当地遍历数组(使用引号和[@]),以便它在此时不会被bash再次分割。

str="HI I GOT;IT" 
IFS=\; arr=($str) 
for x in "${arr[@]}" 
do 
    echo "$x" 
done