如何在Linux中将数字数据从文件复制到数组

时间:2014-05-18 14:14:26

标签: linux awk

我在output.txt中有一些数据,如下所示。我想在Linux中将数据从文件复制到数组。我想通过使用awk来做到这一点。

3.2222196800737746e-01
9.0625504539639357e-02
-4.4309220157707685e-01
7.6522564411406657e-01
-7.1683767983542657e-01
4.8589460714063371e-01
-2.5294463208548001e-01
2.8153758928251349e-01
-1.9848560597677056e-01

2 个答案:

答案 0 :(得分:1)

你这样做:

arr=($(cat output.txt))
echo ${arr[0]}
3.2222196800737746e-01

echo ${arr[2]}
-4.4309220157707685e-01

第一个数据存储在插槽0等的插槽1中。

答案 1 :(得分:1)

其他几种方法也是如此:

$ ary=($(< file))
$ echo "${ary[0]}"
3.2222196800737746e-01

使用bash版本4或更高版本:

$ readarray -t ary < file
$ echo "${ary[0]}"
3.2222196800737746e-01

$ mapfile -t ary < file
$ echo "${ary[0]}"
3.2222196800737746e-01

或者,如果您坚持使用awk,那么:

$ awk '{ary[i++]=$0}END{print ary[0]}' file
3.2222196800737746e-01