我试图将包含行的文件读入Bash数组.
到目前为止,我已尝试过以下内容:
a=( $( cat /path/to/filename ) )
Run Code Online (Sandbox Code Playgroud)
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
我的剧本
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:3在hello之后输入一个空行,则输出变为
1,1,1,1
2,2,2,2
3,3,3,3
Run Code Online (Sandbox Code Playgroud)
任何人都知道如何解决这个问题,所以我不需要在结尾处加一个空行hello?