我有以下代码: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
问题之一是、、 和"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")
将一个元素追加到数组中。
在赋值语句将值赋给 shell 变量或数组索引(请参阅数组)的上下文中,“+=”运算符可用于追加或添加到变量的先前值。