当前位置: 技术问答>linux和unix
再问:如何分割字符串赋给一个数组变量并打印?
来源: 互联网 发布时间:2016-12-31
本文导语: 例如str=abc:def:ghi:jkl 想通过split将str赋给myarray,然后对myarray做循环打印myarray[i] ??? yiyaaixuexi (_______念茜) 给的答案是: IFS=:;myarray=($(echo abc:def:ghi:jkl)) 分割 echo ${myarray[@]} 打印 echo ${#myarray[@]} 取元素个数 test.ini: ...
例如str=abc:def:ghi:jkl
想通过split将str赋给myarray,然后对myarray做循环打印myarray[i]
???
yiyaaixuexi
(_______念茜)
给的答案是:
IFS=:;myarray=($(echo abc:def:ghi:jkl)) 分割
echo ${myarray[@]} 打印
echo ${#myarray[@]} 取元素个数
test.ini:
ARRAY_NAME=abc:def:ghi:jkl
但是如果abc:def:ghi:jkl必须从test.ini中读取,就没法实现了。
array=($(echo `grep '^ARRAY_NAME=' /`pwd`/idwjobexist.ini | sed -e 's/^ARRAY_NAME=//g'`))
echo $array
echo ${array[0]}
结果不对。
yiyaaixuexi
(_______念茜) 在吗?
想通过split将str赋给myarray,然后对myarray做循环打印myarray[i]
???
yiyaaixuexi
(_______念茜)
给的答案是:
IFS=:;myarray=($(echo abc:def:ghi:jkl)) 分割
echo ${myarray[@]} 打印
echo ${#myarray[@]} 取元素个数
test.ini:
ARRAY_NAME=abc:def:ghi:jkl
但是如果abc:def:ghi:jkl必须从test.ini中读取,就没法实现了。
array=($(echo `grep '^ARRAY_NAME=' /`pwd`/idwjobexist.ini | sed -e 's/^ARRAY_NAME=//g'`))
echo $array
echo ${array[0]}
结果不对。
yiyaaixuexi
(_______念茜) 在吗?
|
=,= 你能不能变通变通。。。
你不好先把ARRAY_NAME那一行grep出来再调我的语句。
array=($(cat test.ini | grep "ARRAY_NAME" | sed 's/ARRAY_NAME=//g' | sed 's/:/ /g'))
echo ${array[0]}
echo ${array[@]}
|
awk -F= '/ARRAY_NAME/ {split($2,a,":")} END{for(i in a) print a[i]}' test.ini