Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
配列はデフォルトの区切り文字として「スペース」を使用しています:
str="HI I GOT;IT" arr2=$(echo $str | tr ";" " ") for x in $arr2 do echo " $x" done
出力:
こんにちは
私
得た
それ
出力を次のようにしたい:
ハイ・アイ・ゴット
これがどのシェルかは言っていませんが、 のように見えるbashので、それについて説明します。これは、が単語を分割IFSする方法を決定するの仕事です。bashここでは;、文字列を分割するために、単一のコマンドに対して に設定します。
bash
IFS
;
[@]また、この時点で bash によって再度分割されないように、(引用符と を使用して) 配列を適切に反復処理する必要があります。
[@]
str="HI I GOT;IT" IFS=\; arr=($str) for x in "${arr[@]}" do echo "$x" done