我在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
答案 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