相关疑难解决方法(0)

将制表符分隔的文件行读入数组

我想逐行将文件读入脚本.文件中的每一行都是由制表符分隔的多个值,我想将每一行读入一个数组.

典型的bash"逐行读取"示例;

while read line
do
echo $line;
done < "myfile"
Run Code Online (Sandbox Code Playgroud)

对我来说,myfile看起来像这样(制表符分隔值);

value1 value2 value3
value4 value5 value6
Run Code Online (Sandbox Code Playgroud)

在循环的每次迭代中,我希望每一行都进入一个数组,所以我可以

while read line into myArray
do
 echo myArray[0]
 echo myArray[1]
 echo myArray[2]
done < "myfile"
Run Code Online (Sandbox Code Playgroud)

这将在第一次循环迭代中打印以下内容;

value1
value2
value3
Run Code Online (Sandbox Code Playgroud)

然后在第二次迭代它将打印

value4
value5
value6
Run Code Online (Sandbox Code Playgroud)

这可能吗?我能看到的唯一方法是编写一个小函数来手动打破这些值,是否内置了对bash的支持?

arrays bash

59
推荐指数
2
解决办法
10万
查看次数

标签 统计

arrays ×1

bash ×1