3
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
分隔。
如果DATE_LIST'的'的每个元素自由空格的保证,则可以直接与'阵列=($(xmlstartlet ... < “$ OUT_FILE”))'填充阵列。 – chepner
另外,您需要'IFS = $'\ n''来将'IFS'设置为一个实际的换行符。 – chepner
第一个解决方案的作品,谢谢! 并在回应第二条评论时添加$不会影响结果IFS = $'\ n'读取-a数组<<<“$ DATE_LIST”' – user3960875