次のコードがあります。Text read from file: "E" "01" "Adv - Initial" "07/11/2017"
次のような配列に保存したいと思います。
array[0] = "E" array[1] = "01" array[2] = "Adv - Initial" array[3] = "07/11/2017"
私は試みた:
itemData=( "$line" )
whileループで。しかし、望む結果は得られません。
答え1
問題の1つは、、が"Adv - Initial"
壊れるという点です。変化をもって遊ばなければなりません。Adv
-
Initial
IFS
#/bin/bash
savIFS=$IFS
IFS=\"
array=($line)
IFS=$savIFS
echo "${array[1]}"
echo "${array[3]}"
echo "${array[5]}"
echo "${array[7]}"
答え2
欲しい追加現在の配列。これを達成するには、次のようにします。
declare -a array
配列を宣言して
array+=("$line")
配列に要素を追加します。
シェル変数または配列インデックス(配列を参照)に値を割り当てる割り当てステートメントのコンテキストでは、「+ =」演算子を使用して変数の以前の値に追加または追加できます。