我有一个bash函数,它读取csv文件,我希望该函数返回一个数组。我怎么做呢?
我知道bash通常不会"返回对象"。但我想知道是否有一个hack,使以下代码:
data=$(readFromCSV $file)
返回自定义函数readfromsv的数组。我的意思是$data是一个真数组所以我可以运行
echo {#data[@]}
它会告诉我数组中有多少项
如何告诉函数返回数组?
感谢基本上这就是我模仿数组对象的方法从CSV文件传递
首先,为csv创建函数:function readFromCSV() {
file=$1
arr_csv=()
while IFS= read -r line
do
arr_csv+=("$line")
done < $file
echo ${arr_csv[*]} # this will output a string
}
则调用函数:
list=$(readFromCSV $file)
然后将字符串重新映射到数组:
arrayCSV=($list)
现在arrayCSV是CSV文件中值的数组。