如何将字符串读取到数组并从数组中获取值

时间:2015-05-20 14:37:22

标签: bash

目前我有

DATE_LIST=$(cat "$OUT_FILE" | xmlstarlet sel -T -t -m "//*[local-name()='entry']//*[local-name()='$start_position_date'][@name='beginposition']" -v '.' -n)

结果如下:

DATE_LIST= 2015-10-10
2015-11-11

......等等

IFS='\n' read -a array <<< "$DATE_LIST"

echo "${array[0]}" //I get the first one
echo "${array[1]}" //I get nothing

如何正确解析? DATE_LIST是从xml生成的,字符串用\n分隔。

1 个答案:

答案 0 :(得分:0)

这会将输出中的每一行追加到一个数组中,支持行 withespaces。

array=()
IFS='
'
for line in $(cat "$OUT_FILE" | xmlstarlet set -T ...)
do
    array+=("$line")
done
unset IFS