私は、次の形式で文字列を持っている:文字「 n」を含む複数行の文字列をbashの文字列の配列に分割する方法は?
$ echo "${ARRAY[0]}"
I'm\nNed\nNederlander
$ echo "${ARRAY[1]}"
I'm\nLucky\nDay
$ echo "${ARRAY[2]}"
I'm\nDusty\nBottoms
は、しかし、私は:
I'm\nNed\nNederlander
I'm\nLucky\nDay
I'm\nDusty\nBottoms
は私がそのようなことを線で文字列ラインの配列にこれを移動したいと思います文字列自体の中の "\ n"文字に問題があります。それらは文字列の中で二つの別個の文字、バックスラッシュと 'n'で表されますが、私が配列分割をしようとすると、それらは改行として解釈されます。したがって、IFS
の典型的な文字列分割は機能しません。例えば
:
$ read -a ARRAY <<< "$STRING"
$ echo "${#ARRAY[@]}" # print number of elements
2
$ echo "${ARRAY[0]}"
I'mnNednNederla
$ echo "${ARRAY[1]}"
der
をところで、誰もがSEの問題を解決する方法を知っているん上のコードのひどいフォーマット? –
「ひどい書式設定」は、アポストロフィが一重引用符(均等になると予想される)として解釈されるためです。 "code"タグの代わりに "block quote"タグを使用してください。 – twalberg