来自文件的Bash数组

时间:2018-01-14 11:45:35

标签: arrays bash

所以我有一个名为myfile的文本文件,如下所示:

epochdate1 floatvalue1
epochdate2 floatvalue2
...
epochdaten floatvaluen

我正在考虑创建一个数组,我可以在其中提取一些floatvalues:floatvaluen,floatvalue(n-1),floatvalue(n-100)。

如何实现?我的意思是如何从myfile声明这个数组以及如何选择元素?

1 个答案:

答案 0 :(得分:0)

您可以像这样在Bash中创建一个数组:

myarr=($(awk '{print $2}' file.txt))

您将能够访问其元素,如

echo ${myarr[0]}
echo ${myarr[10]}

或者更好的是,声明一个关联数组:

declare -A myarr
eval myarr=($(awk '{print "["$1"]="$2}' file.txt))

您可以像

一样访问它
echo "${myarr[epochdaten]}"

输出:floatvaluen