0

配列はデフォルトの区切り文字として「スペース」を使用しています:

str="HI I GOT;IT"

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

出力:

こんにちは

得た

それ

出力を次のようにしたい:

ハイ・アイ・ゴット

それ

4

1 に答える 1

0

これがどのシェルかは言っていませんが、 のように見えるbashので、それについて説明します。これは、が単語を分割IFSする方法を決定するの仕事です。bashここでは;、文字列を分割するために、単一のコマンドに対して に設定します。

[@]また、この時点で bash によって再度分割されないように、(引用符と を使用して) 配列を適切に反復処理する必要があります。

str="HI I GOT;IT"
IFS=\; arr=($str)
for x in "${arr[@]}"
do
    echo "$x"
done
于 2013-02-28T05:50:15.457 に答える