shell中怎么按行读取文件内容(每一行包含空格)并保存到数组变量中,且一行内容对应一个数组元素

文件内容如下:
ENSRNOG00000066169 ENSRNOG00000066169 Gene Expression
ENSRNOG00000070168 Olr56 Gene Expression
ENSRNOG00000070901 Irgq Gene Expression
ENSRNOG00000018029 Doc2g Gene Expression

本来想要用read命令按行读取文件内容赋值给变量,然后直接将每行对应的变量内容加上引号输出成一整行,再重定向给另一个文件,再将文件内容赋值给一个变量,最后将该变量数组话就行;
代码如下:

#!/bin/bash
cat $1 | while read line
do
        arrays=("$line")
        echo -n "\"${arrays[i]}\" " >> proceed.txt
done

kang=$(cat proceed.txt)
ARRAYS=($kang)
echo ${ARRAYS[0]}
echo ${ARRAYS[2]}

可是由于每行中存在空格,导致每一行就不是对应一个数组元素,将变量数组化的时候,会自动将空格视为分隔,分成多个数组元素。
运行结果如下:
"ENSRNOG00000066169
Gene

请问大家这该怎么改,或者怎么写,万分感谢!

你好,我是有问必答小助手,非常抱歉,本次您提出的有问必答问题,技术专家团超时未为您做出解答


本次提问扣除的有问必答次数,将会以问答VIP体验卡(1次有问必答机会、商城购买实体图书享受95折优惠)的形式为您补发到账户。


因为有问必答VIP体验卡有效期仅有1天,您在需要使用的时候【私信】联系我,我会为您补发。