第七页序425 2022-01-16 12:35 采纳率: 0%
浏览 33
已结题

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

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

  • 写回答

1条回答 默认 最新

  • 有问必答小助手 2022-01-18 09:41
    关注

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


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


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

    评论

报告相同问题?

问题事件

  • 系统已结题 1月24日
  • 创建了问题 1月16日

悬赏问题

  • ¥100 yahoo finance api 2024年更改访问限制後的 java串接方法
  • ¥15 节日彩灯电路设计电路图
  • ¥15 esp32cam串口图传
  • ¥15 C# 用partial定义部分类无法快速预览代码
  • ¥15 fastreport 代码无法设置最后一页横线不显示
  • ¥15 stm32u535芯片usb hid custom类接收数据有问题
  • ¥15 ue5.3 pico打包失败 求帮助
  • ¥15 请教,这是用chatgpt写的CAD LISPD脚本,需求是画一个由双直线组成的矩形
  • ¥50 微信小程序 成功包奶茶啊
  • ¥15 计算机博弈的六子棋代码