Shell如何将文本的每一行保存到数组并循环读出数组

参考小例
如文本为get_data.py,内容如下:

import os,json
ret = os.popen(‘python /home/polly/work/data.py’)
data = ret.read().strip()
ret.close()
data = json.loads(data)
print(data)

读出文件get_data.py的内容并保存到数组(${#a[*]}为数据长度)

> a=()
> while read line
> do
> a[${#a[*]}]="$line"
> done < get_data.py

查看数组内容

> declare -a
> declare -a a=([0]="import os,json" [1]="ret = os.popen('python /home/polly/work/data.py')" [2]="data = ret.read().strip()" [3]="ret.close()" [4]="data = json.loads(data)" [5]="print(data)")

循环遍历数组

> for((i=0;i<${#a[*]};i++))
> do
> echo ${a[i]}
> done

显示结果如下

import os,json
ret = os.popen(‘python /home/polly/work/data.py’)
data = ret.read().strip()
ret.close()
data = json.loads(data)
print(data)

你可能感兴趣的:(Shell如何将文本的每一行保存到数组并循环读出数组)