空间分隔符数组Shell脚本

时间:2013-02-28 05:44:31

标签: arrays shell delimiter

数组将“space”作为默认分隔符:

str="HI I GOT;IT"

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

输出:

HI

GOT

IT

我希望输出为:

我好我

IT

1 个答案:

答案 0 :(得分:0)

你还没有说过这是一个shell,但它看起来像bash,所以我会去那。这是IFS的作业,用于确定bash如何拆分单词。在这里,我们将单个命令设置为;,以拆分字符串。

您还需要正确迭代数组(使用引号和[@]),以便此时不会再被bash拆分。

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