相关疑难解决方法(0)

从文件读取行到Bash数组

我试图将包含行的文件读入Bash数组.

到目前为止,我已尝试过以下内容:

Attempt1

a=( $( cat /path/to/filename ) )
Run Code Online (Sandbox Code Playgroud)

ATTEMPT2

index=0
while read line ; do
    MYARRAY[$index]="$line"
    index=$(($index+1))
done < /path/to/filename
Run Code Online (Sandbox Code Playgroud)

两次尝试仅返回包含文件第一行的一个元素数组.我究竟做错了什么?

我正在运行bash 4.1.5

arrays bash

180
推荐指数
5
解决办法
37万
查看次数

为什么unix在读取时没有读到最后一行?

我的剧本

export IFS=":"

cat hello | while read a b c d; do
    echo $a,$b,$c,$d
done
Run Code Online (Sandbox Code Playgroud)

我的档案 hello

1:1:1:1
2:2:2:2
3:3:3:3
Run Code Online (Sandbox Code Playgroud)

我的输出

1,1,1,1
2,2,2,2
Run Code Online (Sandbox Code Playgroud)

如果我3:3:3:3hello之后输入一个空行,则输出变为

1,1,1,1
2,2,2,2
3,3,3,3
Run Code Online (Sandbox Code Playgroud)

任何人都知道如何解决这个问题,所以我不需要在结尾处加一个空行hello

unix linux bash shell

15
推荐指数
3
解决办法
1万
查看次数

标签 统计

bash ×2

arrays ×1

linux ×1

shell ×1

unix ×1